今天給各位分享百度gis地圖開發的知識,其中也會對百度地圖 gis進行解釋,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!
目錄一覽:
如何用gis實現百度地圖的展示實例?
你如果要自己用Flex做的話,就要首先獲取百度地圖的瓦片服務的地址,要做路徑查詢的話還要獲取百度地圖路徑分析服務的地址!現在是比賽的季節,ESRI聯合天地圖開放了地圖服務接口,,你可以參考下,至于你說的那些什么標記,繪制都可以在Flex中用代碼實現
使用leaflet制作二維gis地圖
先貼上leaflet的官網,官網偶爾會抽風打不開。
二維gis開發的api基本大同小異,像百度地圖、高德地圖、騰訊地圖等開發起來比較相似。
推薦先引入 chinaProvider ,免去緩慢加載的煩惱。
添加微信好友, 獲取更多信息
復制微信號
1.地圖控件
2.地圖上添加站點
3.路線展示與控制顯隱(計劃施工路段/實際施工路段)
android百度地圖怎么開發
一、基本概念:
(一)、百度地圖:
百度地圖 Android SDK是一套基于Android 2.1及以上版本設備的應用程序接口。 您可以使用該套 SDK開發適用于Android系統移動設備的地圖應用,通過調用地圖SDK接口,您可以輕松訪問百度地圖服務和數據, 構建功能豐富、交互性強的地圖類應用程序。
百度地圖Android SDK提供的所有服務是免費的,接口使用無次數限制。您需申請密鑰(key)后, 才可使用百度地圖Android SDK。
(二)、LBS:(Location based Service)基于位置的服務
基于位置的服務,它是通過電信移動運營商的無線電通訊 *** (如G *** 網、CDMA網)或外部定位方式(如GPS)獲取移動終端用戶的位置信息(地理坐標,或大地坐標),在地理信息系統(外語縮寫:GIS、外語全稱:Geographic Information System)平臺的支持下,為用戶提供相應服務的一種增值業務。
二、百度地圖使用步驟:【參照()】
(一)、HelloBaiduMap:
1、之一步:申請百度地圖密鑰(API_KEY):
2、第二步:在工程里新建libs文件夾,將開發包里的baidumapapi_vX_X_X.jar拷貝到libs根目錄下,將libBaiduMapSDK_vX_X_X.so拷貝到libs\armeabi目錄下(官網demo里已有這兩個文件,如果要集成到自己的工程里,就需要自己添加),拷貝完成后的工程目錄如下圖所示;
注:liblocSDK3.so和locSDK_3.1.jar為百度定位SDK所使用資源,開發者可根據實際需求自行添加。
3、第三步:在AndroidManifest中添加開發密鑰、所需權限等信息;
application
meta-data
android:name="com.baidu.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.baidu.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();
初始化BaiduMap對象;
對MapView進行findViewById();
MapView對象調用getMap(),返回BaiduMap;
設置BaiduMap;
setMapType();
setTrafficEnabled();
(三)、POI搜索:
1、實現POI搜索的操作步驟:
布局文件中使用fragment,用來實現對BaiduMap的加載;
class="com.baidu.mapapi.map.SupportMapFragment"
當前Activity繼承于FragementActivity;
初始化SDK,并檢查Key的合法性;
SDKInitializer.initialize(getApplicationContext());
checkKEY();
備注:該兩句話必須放在setContentView()之前。
初始化BaiduMap對象;
baiduMap = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.fragment_poi_map)).getBaiduMap();
初始化PoiSearch對象;
PoiSearch.newInstance();
給PoiSearch對象設置監聽器;
setOnGetPoiSearchResultListener(),重寫onGetPoiResult() *** ;
自定義PoiOverlay類,實現對每個標記的單擊監聽;
通過onPoiClick() *** ,獲取每個PoiInfo中的信息。如果這個對象中包含有明細,可以打開一個新頁面來展示興趣點的詳細介紹。
在AndroidManifest.xml文件中配置PlaceCaterActivity頁面;
該頁面是Baidu提供的POI的明細介紹頁面。
PoiSearch對象調用searchInBound()、searchInCity() 、 searchNearby() *** 實現興趣點查詢。
【總結:】核心步驟:
實例化BaiduMap,PoiSearch對象;
PoiSearch對象設置OnGetPoiSearchResultListener()監聽;
PoiSearch對象調用searchInCity() *** 觸發監聽。
(四)、線路規劃:
1、實現路線規劃的操作步驟:
布局文件中使用MapView,用來實現對BaiduMap的加載;
初始化SDK,并檢查Key的合法性;
SDKInitializer.initialize(getApplicationContext());
checkKEY();
初始化MapView;
調用findViewById()
初始化BaiduMap對象;
baiduMap = MapView對象.getMap();
初始化RoutePlanSearch對象;
RoutePlanSearch.newInstance();
給RoutePlanSearch對象設置監聽器;
setOnGetRoutePlanResultListener(),重寫onGetWalkingRouteResult()、onGetTransitRouteResult()、onGetDrivingRouteResult() *** ;
自定義三種RouteOverlay類(WalkingRouteOverlay、TransitRouteOverlay、DrivingRouteOvelray);
調用RoutePlanSearch對象的三種 *** (drivingSearch()、transitSearch()、walkingSearch())實現路線規劃。
【總結:】核心步驟:
實例化BaiduMap,RoutePlanSearch對象;
RoutePlanSearch對象設置OnGetRoutePlanResultListener監聽;
RoutePlanSearch對象調用drivingSearch()、transitSearch()、walkingSearch() *** 觸發監聽。
(五)、公交查詢:
1、實現公交查詢的操作步驟:
布局文件中使用fragment,用來實現對BaiduMap的加載;
class="com.baidu.mapapi.map.SupportMapFragment"
初始化SDK,并檢查Key的合法性;
SDKInitializer.initialize(getApplicationContext());
checkKEY();
當前Activity繼承于FragementActivity;
初始化BaiduMap對象;
baiduMap = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.fragment_poi_map)).getBaiduMap();
初始化PoiSearch對象/初始化BusLineSearch對象;
PoiSearch.newInstance();
BusLineSearch.newInstance();
給BusLineSearch對象設置監聽器;
setOnGetBusLineSearchResultListener(),重寫onGetBusLineResult() *** ;
給PoiSearch對象設置監聽器;
setOnGetPoiSearchResultListener(),重寫onGetPoiResult() *** ;
在這個監聽器中調用BusLineSearch對象的searchBusLine() *** ;
給按鈕增加單擊監聽事件,實現PoiSearch對象的searchInBound()、searchInCity() 、 searchNearby() *** 實現興趣點查詢。
【總結:】核心步驟:
實例化BaiduMap、PoiSearch對象及BusLineSearch對象;
PoiSearch對象設置OnGetPoiSearchResultListener()監聽;BusLineSearch對象設置OnGetBusLineSearchResultListener監聽;
在PoiSearch對象的監聽回調 *** onGetPoiResult()中調用busLineSearch對象的searchBusLine() *** ;
PoiSearch對象調用searchInCity() *** 觸發整個監聽。
【備注:】
整體思路:先調用POI查詢,在POI查詢中的監聽器中執行BusLine查詢。
關于百度gis地圖開發和百度地圖 gis的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。