真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java百度地圖代碼,百度地圖java開發(fā)工具包

java類方法中百度地圖API

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

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供尼元陽網(wǎng)站建設(shè)、尼元陽做網(wǎng)站、尼元陽網(wǎng)站設(shè)計、尼元陽網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、尼元陽企業(yè)網(wǎng)站模板建站服務(wù),10多年尼元陽做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

api官網(wǎng)說明鏈接:

1、可用接口列舉:

獲取相關(guān)地址提示 place suggestion

水杉region=成都o(jì)utput=jsonak=42b8ececa9cd6fe72ae4cddd77c0da5d

2、獲取坐標(biāo) geocoding

錦江區(qū)菱安路299號output=jsonkey=42b8ececa9cd6fe72ae4cddd77c0da5d

;output=jsonquery=藍(lán)光coco金沙page_size=10page_num=0scope=1region=成都

{

"status":0,

"message":"ok",

"total":2,

"results":[

{

"name":"藍(lán)光COCO金沙",

"location":{

"lat":30.687544,

"lng":103.996691

},

"address":"西三環(huán)外金沙西源大道(IT大道旁)",

"uid":"223992992c5ee7e0841541df"

},

{

"name":"藍(lán)光COCO金沙2期",

"location":{

"lat":30.681123,

"lng":103.991123

},

"address":"青羊區(qū)金沙IT大道旁",

"uid":"b7bb5abb1cd4982213293580"

}

]

}

3、設(shè)施導(dǎo)航

;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";

/**

* 返回輸入地址的經(jīng)緯度坐標(biāo) key lng(經(jīng)度),lat(緯度)

*/

public static MapString, String getLatitude(String address) {

try {

// 將地址轉(zhuǎn)換成utf-8的16進制

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

// 如果有代理,要設(shè)置代理,沒代理可注釋

// 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("成都 高新西區(qū)西區(qū)大道1398號");

if (null != map) {

System.out.println(map.get("lng"));

System.out.println(map.get("lat"));

}

}

}

java開發(fā) 怎么把圖層放到百度地圖上

如果要在百度地圖上實現(xiàn)一張自己自定義的地圖,就需要使用百度地圖自定義圖層接口。實現(xiàn)效果如下:

但是百度地圖中關(guān)于自定義圖層的介紹甚少,便以此博文以記錄,方便同行了解和使用。

百度地圖官方文檔中,關(guān)于自定義圖層的介紹是這樣的:

=========華麗麗的分隔線===========

自定義圖層

地圖坐標(biāo)系

在使用自定義圖層前,您需要了解百度地圖的地圖坐標(biāo)系,百度地圖坐標(biāo)系涉及:

? 經(jīng)緯度球面坐標(biāo)系統(tǒng)

? 墨卡托平面坐標(biāo)系統(tǒng)

? 圖塊編號系統(tǒng)

經(jīng)緯度是一種利用三維空間的球面來定義地球上的空間的球面坐標(biāo)系,它能夠標(biāo)示地球上任何一個位置。通過倫敦格林尼治天文臺原址的經(jīng)線為0度經(jīng)線,從0度經(jīng)線向東、向西各分180度。赤道為0度緯線,赤道以北的緯線稱為北緯、以南的稱為南緯。在百度地圖中,東經(jīng)和北緯用正數(shù)表示,西經(jīng)和南緯用負(fù)數(shù)表示。例如北京的位置大約是北緯39.9度,東經(jīng)116.4度,那么用數(shù)值標(biāo)示就是經(jīng)度116.6,緯度39.9。

在百度地圖中,習(xí)慣經(jīng)度在前,緯度在后,例如:

var point = new BMap.Point(116.404, 39.915); // 創(chuàng)建點坐標(biāo),經(jīng)度在前,緯度在后

由于百度地圖是顯示在平面上的,因此在地圖內(nèi)部系統(tǒng)中需要將球面坐標(biāo)轉(zhuǎn)換為平面坐標(biāo),這個轉(zhuǎn)換過程稱為投影。百度地圖使用的是墨卡托投影。墨卡托平面坐標(biāo)如下圖所示,平面坐標(biāo)與經(jīng)緯度坐標(biāo)系的原點是重合的。

百度地圖在每一個級別將整個地圖劃分成若干個圖塊,通過編號系統(tǒng)將整個圖塊整合在一起以便顯示完整的地圖。當(dāng)?shù)貓D被拖動或者級別發(fā)生變化時,地圖API將會根據(jù)平面坐標(biāo)計算出當(dāng)前視野內(nèi)所需顯示的圖塊的編號。百度地圖圖塊編號規(guī)則如下圖所示:

從平面坐標(biāo)原點開始的右上方向的圖塊編號為0,0,以此類推。在最低的縮放級別(級別 1)中,整個地球由 4 張圖塊組成。隨著級別的增長,地圖所使用的圖塊個數(shù)也隨之增多。

定義取圖規(guī)則

通過TileLayer類開發(fā)者可以實現(xiàn)自定義圖層。其中,TileLayer實例的getTilesUrl方法需要實現(xiàn),用來告訴API取圖規(guī)則。getTilesUrl方法的參數(shù)包括tileCoord和zoom,其中tileCoord為圖塊的編號信息,zoom為圖塊的級別,每當(dāng)?shù)貓D需要顯示特定級別的特定位置的圖塊時就會自動調(diào)用此方法,并提供這兩個參數(shù)。使用者需要告知API特定編號和級別所對應(yīng)的圖塊的地址,這樣API就能正常顯示自定義的圖層了。

添加和移除自定義圖層

以下代碼在每個圖塊的所有縮放級別上顯示一個簡單的透明疊加層,使用浮動紅色小水滴表示圖塊的輪廓。

var map = new BMap.Map("l-map"); // 創(chuàng)建地圖實例

var point = new BMap.Point(116.404, 39.915); // 創(chuàng)建點坐標(biāo)

map.centerAndZoom(point,15); // 初始化地圖,設(shè)置中心點坐標(biāo)和地圖級別

var tilelayer = new BMap.TileLayer(); // 創(chuàng)建地圖層實例

tilelayer.getTilesUrl=function(){ // 設(shè)置圖塊路徑

return "layer.gif";

};

map.addTileLayer(tilelayer); // 將圖層添加到地圖上

=========華麗麗的分隔線============

這里講得讓人一知半解,最主要的是,文檔中并沒有說明如何實現(xiàn)getTilesUrl方法,以及如何實現(xiàn)將一張自己的地圖分隔成符合百度地圖要求的圖塊。

現(xiàn)在記錄一下我解決這個問題的過程。

首先,我先下載百度地圖瓦格圖片切圖工具:

其次,找到自己的地圖,導(dǎo)入其中進行切片,參考Sup_Heaven轉(zhuǎn)的博文:

最后將圖片放入項目資源文件中,實現(xiàn)getTitlesUrl方法即可。

這里需要補充一下的同,Sup_Heaven轉(zhuǎn)的博文中,并沒有詳細(xì)說明中心點和瓦格圖片之間的關(guān)系,只告訴我們其然卻不知其所以然。借助度娘了解。百度地圖的所有瓦格圖片都是256px*256px的正方形圖片,其圖片的位置由經(jīng)緯度和放大倍數(shù)zoom決定,所以在使用工具TileCutter時,設(shè)置對的級別范圍和中心點,否則會導(dǎo)致切出的圖片與實際需要不符。如果大家在使用過程有疑問的,歡迎留言交流

百度地圖api java怎么用

一、申請密鑰

1、先用eclipse創(chuàng)建一個Android工程

2、在百度api官網(wǎng)上申請一個密鑰,鏈接:

bubuko.com,布布扣

二、工程配置

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

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

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

bubuko.com,布布扣

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

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

三、顯示百度地圖

1、在android配置清單文件中AndroidManifest.xml添加開發(fā)密鑰和所需權(quán)限

application meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="開發(fā)者 key" / /application

所需權(quán)限

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、在應(yīng)用程序創(chuàng)建時初始化,SDK引用的全局變量Context

注意:在SDK各功能組件使用之前都需要調(diào)用

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一初始化");

}

}

設(shè)置自定義的application為默認(rèn)應(yīng)用

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方法之前實現(xiàn)

//SDKInitializer.initialize(getApplicationContext());

setContentView(R.layout.activity_main);

}

}

4、百度地圖應(yīng)和Activity生命周期綁定

public class MainActivity extends Activity {

MapView mMapView = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

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

//注意該方法要再setContentView方法之前實現(xiàn)

//SDKInitializer.initialize(getApplicationContext());

setContentView(R.layout.activity_main);

//獲取地圖控件引用

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

}

@Override

protected void onDestroy() {

super.onDestroy();

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

mMapView.onDestroy();

}

@Override

protected void onResume() {

super.onResume();

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

mMapView.onResume();

}

@Override

protected void onPause() {

super.onPause();

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

mMapView.onPause();

}

}

如何使用java 開發(fā)百度地圖

百度有提供api的,一般是按照api給的網(wǎng)址,在網(wǎng)址后加經(jīng)緯度或者地區(qū)名,但是百度地圖要申請秘鑰的,這個需要自己去申請一個,免費的,類似的功能你可以參考下面的源碼雖然是javascript的,但是java用起來差不多,畢竟你的地圖肯定是在web頁面顯示的

!DOCTYPE?html??

html??

head??

meta?name="viewport"?content="initial-scale=1.0,?user-scalable=no"?/??

meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/??

titleHello,?World/title??

style?type="text/css"??

html{height:100%}??

body{height:100%;margin:0px;padding:0px}??

#container{height:100%}??

/style??

script?type="text/javascript"?src=";ak=您的密鑰"

//v2.0版本的引用方式:src=";ak=您的密鑰"

//v1.4版本及以前版本的引用方式:src=";key=您的密鑰callback=initialize"

/script

/head??

body??

div?id="container"/div?

script?type="text/javascript"?

var?map?=?new?BMap.Map("container");??????????//?創(chuàng)建地圖實例??

var?point?=?new?BMap.Point(116.404,?39.915);??//?創(chuàng)建點坐標(biāo)??

map.centerAndZoom(point,?15);?????????????????//?初始化地圖,設(shè)置中心點坐標(biāo)和地圖級別??

/script??

/body??

/html


本文標(biāo)題:java百度地圖代碼,百度地圖java開發(fā)工具包
文章起源:http://weahome.cn/article/hscdje.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部