當前位置:首頁 » 安卓系統 » 百度地圖androiddemo

百度地圖androiddemo

發布時間: 2023-03-24 00:13:22

A. Android 百度地圖轉換 bd09ll轉bd09mc(墨卡托)

由於集成網路AR的Sdk,研究過後,發現這個sdk計算全是使用墨卡托,因為用到網路的定位sdk,網路提供的AR demo,定位使用的是bd09mc,以下來自網路AR的demo

問題來了,網路全局設置只有兩種坐標:
gcj02:國測局坐標;
bd09ll:網路經緯度坐標;
所以拖動後,marker返回的要麼是gcj02或者bd09ll,和我們AR要求的bd09mc墨卡托明顯不符
然後看網路文檔,尋找bd09ll轉bd09mc(墨卡托)的方法
結果找半天,沒有找到
網路文檔只提供了 其他尺兆殲谷歌,高德,騰訊,gcj02及 bd09mc 轉化為bd09ll
也就是只能提供其他地圖轉網路地圖坐標的方法
我就無語了 bd09mc 和 bd09ll互轉呢?這兩個都是網路陵沖的,為啥沒有方法互轉???
然猜扮後就開始在網上找方法 ,相信應該很多人遇到類似問題
結果不其然 找到一篇2015年發布的文章 https://blog.csdn.net/SLAMDUNK006/article/details/50156205
已經過了整整6年了
這文章就是用了網路webapi ,官方文檔 https://lbsyun..com/index.php?title=webapi/guide/changeposition
詳細的不說了,看文檔即可,無非需要創建一個web項目獲取ak即可
然後一頓操作猛如虎,直接在搞定了,確實可以完成 bd09ll轉bd09mc
難道沒有更好的辦法了???

很明顯,CoordinateConverter就是網路自己封裝的工具類 ,convertLL2MC方法就是將bd09ll轉bd09mc,經過反復測試
轉化完全正確。

折騰好久 終於解決了,網路sdk埋了大坑,這種工具類居然沒有放在文檔說明,真是坑死個人。

B. android 百度地圖 BMapApiDemo 顯示黑色屏幕

網路地圖程序里那個「更多」裡面有設置屏幕常亮。

C. 百度地圖的android SDK的DEMO是不是又點問題啊,定位在模擬器上都定位不了

模擬器定位需要自己輸入經緯度才能定到的~模擬器有沒有gps模塊~

D. 如何使用android百度地圖離線地圖

1.首先把離線地圖放在android工程下的assets裡面。
注意:建議離線地圖下載通過網路地圖APIDEMO去下載,因為到官網上下載的離線地圖文件格式不一樣,APIDEMO的格式是.dat,而官網上的格式是.dat_svc有可能載入不了地圖.
2.把離線地圖從assets下拷貝到sd卡下
public static void (Context context) {
try {
String filepath = Environment.getExternalStorageDirectory() + "/"
+ "BaiMapSDK" + "/" + "vmp" + "/" + "h" + "/"
+ "xxxxx.dat";

E. 百度地圖API安卓SDK7.0的demo導入不到android studio

你掛個vnp會快一點,因為導入的這個項目使用的gradle與已經擁有的gradle版本不一致,導致需要下載該項目需要的gradle版本,估計被牆了就會一直卡滑缺住,直至下載完成(如果能下載完成的話,233)。
我的解決方前好案:
1.隨便找一個能運行的as項目
2.打開gradle-wrapper.properties,文件目錄:項目/gradle/wrapper/gradle-wrapper.properties
3.復制distributionUrl這一整行的內容,
例如: distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
4.打開要導入的項目的gradle-wrapper.properties,具體步驟與步驟2相同
5.把步驟3復制的內容,替換要導入的項目的gradle-wrapper.properties文件信悔辯的distributionUrl這一行
6.再重啟as,導入項目就可以了

F. 如何調用百度地圖API

如何調用網路地圖API

1)下載網路地圖移動版API(Android)開發包
要在Android應用中使用網路地圖API,就需要在工程中引用網路地圖API開發包,這個開發包包含兩個文件:mapapi.jar和libBMapApiEngine.so。
2)申請API Key 和使用轎褲Google map api一樣,在使用網路地圖API之前也需要獲取相應的API Key。網路地圖API Key與你的網路賬戶相關聯,因此您必須先有網路帳戶,才能獲得API
Key;並且,該Key與您引用API的程序名稱有關。
網路API Key的申請要比Google的簡單多了,其實只要你有網路帳號,應該不超過30秒就能完成API Key的申請。
3)創建一個Android工程
這里需要強調一點:網路地圖移動版api支持Android 1.5及以上系統,因此我們創建的工程應基於Android SDK 1.5及以上。 工程創建完成後,將mapapi.jar和libBMapApiEngine.so分別拷貝到工程的根目錄及libs/armeabi目錄下,並在工閉迅簡程屬性->Java Build Path->Libraries中選擇「Add JARs」,選定mapapi.jar,這樣就可以在應用中使用網路地圖API了。工程完整的目錄結構如下圖所示:
4)在布局文件中添加地圖控制項(res/layout/main.xml)
5)創建昌做Activity繼承..mapapi.MapActivity

package .liufeng.map;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import ..mapapi.BMapManager;
import ..mapapi.GeoPoint;
import ..mapapi.MapActivity;
import ..mapapi.MapController;
import ..mapapi.MapView;
public class MainActivity extends MapActivity {
private BMapManager mapManager;
private MapView mapView;
private MapController mapController;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
初始化MapActivity
mapManager = new BMapManager(getApplication());
init方法的第一個參數需填入申請的API Key
mapManager.init("", null);
super.initMapActivity(mapManager);
mapView = (MapView) findViewById(R.id.map_View);
設置地圖模式為交通地圖
mapView.setTraffic(true);
設置啟用內置的縮放控制項
mapView.setBuiltInZoomControls(true);
用給定的經緯度構造一個GeoPoint(緯度,經度)
GeoPoint point = new GeoPoint((int) (47.118440 * 1E6), (int) (87.493147 * 1E6));
創建標記maker
Drawable marker = this.getResources().getDrawable(R.drawable.iconmarka);
為maker定義位置和邊界
marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight());
取得地圖控制器對象,用於控制MapView
mapController = mapView.getController();
設置地圖的中心
mapController.setCenter(point);
設置地圖默認的縮放級別
mapController.setZoom(12);
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
@Override
protected void onDestroy() {
if (mapManager != null) {
mapManager.destroy();
mapManager = null;
}
super.onDestroy();
}
@Override
protected void onPause() {
if (mapManager != null) {
mapManager.s();
}
super.onPause();
}
@Override
protected void onResume() {
if (mapManager != null) {
mapManager.start();
}
super.onResume();
}
}
6)在AndroidManifest.xml中配置

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="
package=".liufeng.map"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".MainActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
</manifest>
7)運行結果

方法/步驟
1
在網路搜索框輸入「網路地圖api」查找到網路地圖api的網站。如下圖:
2
進入到上圖的網路地圖api首頁。如下圖:
3
把網頁滾動到下面可以看見「申請密鑰」功能,如下圖:
4
點擊「申請密鑰」按鈕,進入登陸界面。沒有網路帳號則注冊一個。注冊後繼續跳到登錄界面。如下圖:
5
成功登錄則進入後台管理界面。如下圖:
6
點擊創建應用,則跳到創建應用界面。如下圖:
7
填寫好信息後。點擊確認按鈕則生成生成一個密鑰。界面會調轉到列表管理頁面。訪問應用(AK)這一列的值就是你的密鑰。如下圖:
8
接下來就可以在網頁上調用了。如下圖:
9
接下來是不是想寫個簡單的調用地圖功能呢?調用地圖api的demo,網路地圖給我們提供很多demo。

G. 百度地圖android studio 的語音導航demo怎麼跑步起來

SDK內置網路TTS語音播報功能,需要對應用進行授權驗證才能夠使用,因此需要主動注冊應用相關信息。
第一步:如果不是LBS開放平台的注冊橘模開發者,首先需要登錄LBS開放平台進行應用注冊,在工程配置的AndroidManifest中有描述。已經完成注冊的開發者請直接進入下一步。【上篇文章中已經完成】
第二步:然後需要在導航TTS平台中圓粗緩進行注冊申請。 注意此處的應用簽名為MD5,AK為在LBS開發平台申請凳知到的AK。MD5簽名僅包含字母,不包含分號,獲取方法如下:【此方法適用於簽名後的apk,如果只是調試用,則直接使用eclipse——Preferences——Android——Build中的MD5簽名信息】

H. 百度地圖 android開發 合並兩個demo功能

根據代碼來實現功能就要考錄局限性

I. 開發android怎麼引入百度地圖

首先需要在網路地圖開發平台上下載所需要的文檔和功能,由於最新版的3.0.0的不是很熟悉,我這里用的是稍舊一點的版本:2.4.1版的;這里是下載地址:http://developer..com/map/sdkandev-download.htm。我是在這個頁面的右下角點擊歷史版本下載的2.4.1版的:

下載之後它裡面有這樣一個壓縮文件:

解壓開之後是這樣的三個壓縮包:

其中Sample是它的Demo,解壓開之後是這樣的:

打開之後裡面是各種各樣功能的demo;
工程配置
第一步:將開發包里的lib文件夾整個拷貝,然後粘貼到你的項目文件夾下,覆蓋原有的文件,然後是這樣的:

第二步:在工程屬性->Java Build Path->Libraries中選擇「Add External JARs」,選定mapapi_v2_4_1.jar,確定後返回。
通過以上兩步操作後,您就可以正常使用網路地圖SDK為您提供的全部功能了。
注意:由於adt插件升級,若您使用Eclipse adt 22的話,需要對開發環境進行相應的設置,方法如下:
1. 在Eclipse 中選中工程,右鍵選 Properties->Java Build Path->Order and Export 使 Android Private Libraries處於勾選狀態;
2. Project -> clean-> clean all .
顯示網路地圖
網路地圖SDK為開發者提供了便捷的顯示網路地圖數據的介面,通過以下幾步操作,即可在您的應用中使用網路地圖數據:
第一步:創建並配置工程(具體方法參見工程配置部分的介紹);
第二步:在AndroidManifest中添加開發密鑰、所需許可權等信息;
(1)在application中添加開發密鑰
<application
<meta-data
android:name="com..lbsapi.API_KEY"
android:value="開發者 key" />
</application>
(2)添加所需許可權
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
第三步,在布局xml文件中添加地圖控制項;
<com..mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />

第四步,載入配置項:

package com.example.mymap;
import com..mapapi.BMapManager;
import com..mapapi.MKGeneralListener;
import com..mapapi.map.MapController;
import com..mapapi.map.MapView;
import com..platform.comapi.basestruct.GeoPoint;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity implements MKGeneralListener{
private BMapManager mBMapMan = null;
private MapView mMapView = null;
private MapController mMapController = null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBMapMan = new BMapManager(getApplication());
mBMapMan.init(this);
setContentView(R.layout.activity_main);
// 獲取地圖控制項引用
mMapView = (MapView) findViewById(R.id.bmapView);
mMapView.setBuiltInZoomControls(true);//設置縮放
}

@Override
protected void onDestroy() {
super.onDestroy();
// 在activity執行onDestroy時執行mMapView.onDestroy(),實現地圖生命周期管理
mMapView.destroy();
}

@Override
protected void onResume() {
super.onResume();
// 在activity執行onResume時執行mMapView. onResume (),實現地圖生命周期管理
mMapView.onResume();
}

@Override
protected void onPause() {
super.onPause();
// 在activity執行onPause時執行mMapView. onPause (),實現地圖生命周期管理
mMapView.onPause();
}

@Override
public void onGetNetworkState(int arg0) {
// TODO Auto-generated method stub
}

@Override
public void onGetPermissionState(int arg0) {
// TODO Auto-generated method stub
}
}
最後一步:運行你的app就可以看到網路地圖了。

J. android百度地圖怎麼開發

網路地圖

一、基本概念:
(一)、網路地圖:
網路地圖 Android SDK是一套基於Android 2.1及以上版本設備的應用程序介面。 您可以使用該套 SDK開發適用於Android系統移動設備的地圖應用,通過調用地圖SDK介面,您可以輕松訪問網路地圖服務和數據, 構建功能豐富、交互性強的地圖類應用程序。
網路地圖Android SDK提供的所有服務是免費的,介面使用無次數限制。您需申請密鑰(key)後, 才可使用網路地圖Android SDK。
(二)、LBS:(Location based Service)基於位置的服務
基於位置的服務,它是通過電信移動運營商的無線電通訊網路(如GSM網、CDMA網)或外部定位方式(如GPS)獲取移動終端用戶的位置信息(地理坐標,或大地坐標),在地理信息系統(外語縮寫:GIS、外語全稱:Geographic Information System)平台的支持下,為用戶提供相應服務的一種增值業務。

二、網路地圖使用步驟:【參照(http://developer..com/map/sdk-android.htm)】
(一)、HelloBaiMap:
1、第一步:申請網路地圖密鑰(API_KEY):
http://developer..com/map/sdk-android.htm

2、第二步:在工程里新建libs文件夾,將開發包里的mapapi_vX_X_X.jar拷貝到libs根目錄下,將libBaiMapSDK_vX_X_X.so拷貝到libs\armeabi目錄下(官網demo里已有這兩個文件,如果要集成到自己的工程里,就需要自己添加),拷貝完成後的工程目錄如下圖所示;

註:liblocSDK3.so和locSDK_3.1.jar為網路定位SDK所使用資源,開發者可根據實際需求自行添加。

3、第三步:在AndroidManifest中添加開發密鑰、所需許可權等信息;
<application

<meta-data

android:name="com..lbsapi.API_KEY"

android:value="P3G69b5s87YG5M31f8A7oyLW"/>

</application>

<uses-permissionandroid:name="android.permission.GET_ACCOUNTS"/>

<uses-permissionandroid:name="android.permission.USE_CREDENTIALS"/>

<uses-permissionandroid:name="android.permission.MANAGE_ACCOUNTS"/>

<uses-permissionandroid:name="android.permission.AUTHENTICATE_ACCOUNTS"/>

<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>

<uses-permissionandroid:name="android.permission.INTERNET"/>

<uses-permissionandroid:name="com.android.launcher.permission.READ_SETTINGS"/>

<uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"/>

<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>

<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>

<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permissionandroid:name="android.permission.BROADCAST_STICKY"/>

<uses-permissionandroid:name="android.permission.WRITE_SETTINGS"/>

<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>
4、第四步:在布局文件中添加地圖控制項:
<com..mapapi.map.MapView

android:id="@+id/mapView"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:clickable="true"/>
5、第五步:在應用程序創建時初始化 SDK引用的Context 全局變數:
protectedvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 在使用SDK各組件之前初始化context信息,傳入ApplicationContext
// 注意該方法要再setContentView方法之前實現
SDKInitializer.initialize(getApplicationContext());

// 裝載布局文件
setContentView(R.layout.activity_main);
}
6、第六步:創建地圖Activity,管理地圖生命周期:
publicclass MainActivity extends Activity {

private MapView mapView;

@Override

protectedvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 在使用SDK各組件之前初始化context信息,傳入ApplicationContext

// 注意該方法要再setContentView方法之前實現

SDKInitializer.initialize(getApplicationContext());

// 裝載布局文件

setContentView(R.layout.activity_main);

mapView = (MapView) findViewById(R.id.mapView);

}

@Override

protectedvoid onResume() {

super.onResume();

mapView.onResume();

}

@Override

protectedvoid onPause() {

super.onPause();

mapView.onPause();

}

@Override

protectedvoid onDestroy() {

super.onDestroy();

mapView.onDestroy();

}

}
(二)、基礎地圖:
1、實現基礎地圖的操作步驟:
布局文件中使用MapView;
初始化SDK,並檢查Key的合法性;
SDKInitializer.initialize(getApplicationContext());
checkKEY();
初始化BaiMap對象;
對MapView進行findViewById();
MapView對象調用getMap(),返回BaiMap;
設置BaiMap;
setMapType();
setTrafficEnabled();
(三)、POI搜索:
1、實現POI搜索的操作步驟:
布局文件中使用fragment,用來實現對BaiMap的載入;
class="com..mapapi.map.SupportMapFragment"
當前Activity繼承於FragementActivity;
初始化SDK,並檢查Key的合法性;
SDKInitializer.initialize(getApplicationContext());
checkKEY();
備註:該兩句話必須放在setContentView()之前。
初始化BaiMap對象;
Map = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.fragment_poi_map)).getBaiMap();
初始化PoiSearch對象;
PoiSearch.newInstance();
給PoiSearch對象設置監聽器;
(),重寫onGetPoiResult()方法;
自定義PoiOverlay類,實現對每個標記的單擊監聽;
通過onPoiClick()方法,獲取每個PoiInfo中的信息。如果這個對象中包含有明細,可以打開一個新頁面來展示興趣點的詳細介紹。
在AndroidManifest.xml文件中配置PlaceCaterActivity頁面;
該頁面是Bai提供的POI的明細介紹頁面。
PoiSearch對象調用searchInBound()、searchInCity() 、 searchNearby()方法實現興趣點查詢。
【總結:】核心步驟:
實例化BaiMap,PoiSearch對象;
PoiSearch對象設置OnGetPoiSearchResultListener()監聽;
PoiSearch對象調用searchInCity()方法觸發監聽。
(四)、線路規劃:
1、實現路線規劃的操作步驟:
布局文件中使用MapView,用來實現對BaiMap的載入;
初始化SDK,並檢查Key的合法性;
SDKInitializer.initialize(getApplicationContext());
checkKEY();
初始化MapView;
調用findViewById()
初始化BaiMap對象;
Map = MapView對象.getMap();
初始化RoutePlanSearch對象;
RoutePlanSearch.newInstance();
給RoutePlanSearch對象設置監聽器;
(),重寫onGetWalkingRouteResult()、onGetTransitRouteResult()、onGetDrivingRouteResult()方法;
自定義三種RouteOverlay類(WalkingRouteOverlay、TransitRouteOverlay、DrivingRouteOvelray);
調用RoutePlanSearch對象的三種方法(drivingSearch()、transitSearch()、walkingSearch())實現路線規劃。
【總結:】核心步驟:
實例化BaiMap,RoutePlanSearch對象;
RoutePlanSearch對象設置OnGetRoutePlanResultListener監聽;
RoutePlanSearch對象調用drivingSearch()、transitSearch()、walkingSearch()方法觸發監聽。
(五)、公交查詢:
1、實現公交查詢的操作步驟:
布局文件中使用fragment,用來實現對BaiMap的載入;
class="com..mapapi.map.SupportMapFragment"
初始化SDK,並檢查Key的合法性;
SDKInitializer.initialize(getApplicationContext());
checkKEY();
當前Activity繼承於FragementActivity;
初始化BaiMap對象;
Map = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.fragment_poi_map)).getBaiMap();
初始化PoiSearch對象/初始化BusLineSearch對象;
PoiSearch.newInstance();
BusLineSearch.newInstance();
給BusLineSearch對象設置監聽器;
(),重寫onGetBusLineResult()方法;
給PoiSearch對象設置監聽器;
(),重寫onGetPoiResult()方法;
在這個監聽器中調用BusLineSearch對象的searchBusLine()方法;
給按鈕增加單擊監聽事件,實現PoiSearch對象的searchInBound()、searchInCity() 、 searchNearby()方法實現興趣點查詢。
【總結:】核心步驟:
實例化BaiMap、PoiSearch對象及BusLineSearch對象;
PoiSearch對象設置OnGetPoiSearchResultListener()監聽;BusLineSearch對象設置監聽;
在PoiSearch對象的監聽回調方法onGetPoiResult()中調用busLineSearch對象的searchBusLine()方法;
PoiSearch對象調用searchInCity()方法觸發整個監聽。

【備註:】
整體思路:先調用POI查詢,在POI查詢中的監聽器中執行BusLine查詢。

熱點內容
sql存儲過程out 發布:2024-04-26 19:33:15 瀏覽:414
struts2訪問方法 發布:2024-04-26 19:11:36 瀏覽:259
外文翻譯android 發布:2024-04-26 19:03:30 瀏覽:90
土金木配置怎麼樣 發布:2024-04-26 18:52:50 瀏覽:611
這台電腦如何訪問另一台電腦伺服器 發布:2024-04-26 18:51:08 瀏覽:628
怎麼快速了解電腦的配置 發布:2024-04-26 18:42:11 瀏覽:998
rsa加密演算法例子 發布:2024-04-26 18:40:29 瀏覽:244
thinkphp緩存關閉 發布:2024-04-26 18:19:32 瀏覽:97
linux信號捕捉 發布:2024-04-26 18:19:27 瀏覽:935
編譯有哪兩種模式 發布:2024-04-26 17:53:30 瀏覽:871