java百度地圖api軌跡,百度地圖api地址解析

本文目錄一覽:

百度地圖api java怎麼用

一、申請密鑰

1、先用eclipse創建一個Android工程

2、在百度api官網上申請一個密鑰,鏈接:

bubuko.com,布布扣

二、工程配置

1、將baidumapapi_vX_X_X.jar拷貝到工程libs目錄下,將libBaiduMapSDK_vX_X_X.so拷貝到libs\armeabi

目錄下,拷貝完成後,如下所示:

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

bubuko.com,布布扣

2、右鍵工程屬性,在Libraries中選擇「Add External JARs」,選擇baidumapapi_vX_X_X.jar,確定返回

配置好以上步驟,即可使用百度地圖了

三、顯示百度地圖

1、在android配置清單文件中AndroidManifest.xml添加開發密鑰和所需權限

application meta-data android:name=”com.baidu.lbsapi.API_KEY” android:value=”開發者 key” / /application

所需權限

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” /

2、在xml布局中添加地圖控件

com.baidu.mapapi.map.MapView

android:id=”@+id/bmapView”

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”

android:clickable=”true” /

?3、在應用程序創建時初始化,SDK引用的全局變量Context

注意:在SDK各功能組件使用之前都需要調用

SDKInitializer.initialize(getApplicationContext());,因此我們建議該方法放在Application的初始化方法中

public class MyApplication extends Application {

@Override

public void onCreate() {

super.onCreate();

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

SDKInitializer.initialize(getApplicationContext());

System.out.println(“SDKInitializer一初始化”);

}

}

設置自定義的application為默認應用

application

android:name=”com.bao.ah.MyApplication”

android:allowBackup=”true”

android:icon=”@drawable/ic_launcher”

android:label=”@string/app_name”

android:theme=”@style/AppTheme”

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

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

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

//SDKInitializer.initialize(getApplicationContext());

setContentView(R.layout.activity_main);

}

}

4、百度地圖應和Activity生命周期綁定

public class MainActivity extends Activity {

MapView mMapView = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

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

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

//SDKInitializer.initialize(getApplicationContext());

setContentView(R.layout.activity_main);

//獲取地圖控件引用

mMapView = (MapView) findViewById(R.id.bmapView);

}

@Override

protected void onDestroy() {

super.onDestroy();

//在activity執行onDestroy時執行mMapView.onDestroy(),實現地圖生命周期管理

mMapView.onDestroy();

}

@Override

protected void onResume() {

super.onResume();

//在activity執行onResume時執行mMapView. onResume (),實現地圖生命周期管理

mMapView.onResume();

}

@Override

protected void onPause() {

super.onPause();

//在activity執行onPause時執行mMapView. onPause (),實現地圖生命周期管理

mMapView.onPause();

}

}

java類方法中百度地圖API

百度地圖Web服務API為開發者提供http接口,即開發者通過http形式發起檢索請求,獲取返回json或xml格式的檢索數據。

api官網說明鏈接:

1、可用接口列舉:

獲取相關地址提示 place suggestion

水杉region=成都output=jsonak=42b8ececa9cd6fe72ae4cddd77c0da5d

2、獲取坐標 geocoding

錦江區菱安路299號output=jsonkey=42b8ececa9cd6fe72ae4cddd77c0da5d

;output=jsonquery=藍光coco金沙page_size=10page_num=0scope=1region=成都

{

“status”:0,

“message”:”ok”,

“total”:2,

“results”:[

{

“name”:”藍光COCO金沙”,

“location”:{

“lat”:30.687544,

“lng”:103.996691

},

“address”:”西三環外金沙西源大道(IT大道旁)”,

“uid”:”223992992c5ee7e0841541df”

},

{

“name”:”藍光COCO金沙2期”,

“location”:{

“lat”:30.681123,

“lng”:103.991123

},

“address”:”青羊區金沙IT大道旁”,

“uid”:”b7bb5abb1cd4982213293580″

}

]

}

3、設施導航

;output=jsonquery=圖書館page_size=20page_num=0scope=2region=成都

4、java測試類:

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.URL;

import java.net.URLEncoder;

import java.util.HashMap;

import java.util.Map;

public class LocationUtil {

private static final String BAIDU_APP_KEY = “42b8ececa9cd6fe72ae4cddd77c0da5d”;

/**

* 返回輸入地址的經緯度坐標 key lng(經度),lat(緯度)

*/

public static MapString, String getLatitude(String address) {

try {

// 將地址轉換成utf-8的16進制

address = URLEncoder.encode(address, “UTF-8”);

// 如果有代理,要設置代理,沒代理可注釋

// System.setProperty(“http.proxyHost”,”192.168.172.23″);

// System.setProperty(“http.proxyPort”,”3209″);

URL resjson = new URL(“”

+ address + “output=jsonkey=” + BAIDU_APP_KEY);

BufferedReader in = new BufferedReader(new InputStreamReader(

resjson.openStream()));

String res;

StringBuilder sb = new StringBuilder(“”);

while ((res = in.readLine()) != null) {

sb.append(res.trim());

}

in.close();

String str = sb.toString();

System.out.println(“return json:” + str);

if(str!=null!str.equals(“”)){

MapString, String map = null;

int lngStart = str.indexOf(“lng\”:”);

int lngEnd = str.indexOf(“,\”lat”);

int latEnd = str.indexOf(“},\”precise”);

if (lngStart 0 lngEnd 0 latEnd 0) {

String lng = str.substring(lngStart + 5, lngEnd);

String lat = str.substring(lngEnd + 7, latEnd);

map = new HashMapString, String();

map.put(“lng”, lng);

map.put(“lat”, lat);

return map;

}

}

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static void main(String args[]) {

MapString, String map = LocationUtil.getLatitude(“成都 高新西區西區大道1398號”);

if (null != map) {

System.out.println(map.get(“lng”));

System.out.println(map.get(“lat”));

}

}

}

如何使用java和百度地圖api 得到兩點之間的路程(

獲取到兩點的經緯度,再調用百度地圖的api計算。我記得,有一個計算距離的api.

script type=”text/javascript”

// 百度地圖API功能

var map = new BMap.Map(“allmap”);

map.centerAndZoom(“重慶”,12); //初始化地圖,設置城市和地圖級別。

var pointA = new BMap.Point(106.486654,29.490295); // 創建點坐標A–大渡口區

var pointB = new BMap.Point(106.581515,29.615467); // 創建點坐標B–江北區

alert(‘從大渡口區到江北區的距離是:’+(map.getDistance(pointA,pointB)).toFixed(2)+’ 米。’); //獲取兩點距離,保留小數點後兩位

var polyline = new BMap.Polyline([pointA,pointB], {strokeColor:”blue”, strokeWeight:6, strokeOpacity:0.5}); //定義折線

map.addOverlay(polyline); //添加折線到地圖上

/script

想用java 做一個平台,能夠調用百度或谷歌地圖並在地圖上顯示定位位置和軌跡回放,涉及java 的那些知識

如果是WEB方式,需要:

java開發移動端APP,獲取GPS數據並存入數據庫

頁面JSP調用百度地圖API

地圖上所需的位置坐標從數據庫中查詢

涉及到的知識比較廣,JSP\JAVA ANDROID IDE\J2SE\HTML\DATABASE

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/152886.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-13 06:08
下一篇 2024-11-13 06:08

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • cmd看地址

    本文將從多個方面詳細闡述cmd看地址,包括如何查看本機IP地址、如何查看路由器IP、如何查看DNS服務器IP等等。 一、查看本機IP地址 要查看本機IP地址,首先需要打開cmd窗口…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論