導航:首頁 > 編程語言 > java地圖介面

java地圖介面

發布時間:2024-01-22 10:27:45

⑴ 如何使用java和百度地圖api 得到兩點之間的路程(駕車行駛距離)

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

<scripttype="text/javascript">
//網路地圖API功能
varmap=newBMap.Map("allmap");
map.centerAndZoom("重慶",12);//初始化地圖,設置城市和地圖級別。
varpointA=newBMap.Point(106.486654,29.490295);//創建點坐標A--大渡口區
varpointB=newBMap.Point(106.581515,29.615467);//創建點坐標B--江北區
alert('從大渡口區到江北區的距離是:'+(map.getDistance(pointA,pointB)).toFixed(2)+'米。');//獲取兩點距離,保留小數點後兩位
varpolyline=newBMap.Polyline([pointA,pointB],{strokeColor:"blue",strokeWeight:6,strokeOpacity:0.5});//定義折線
map.addOverlay(polyline);//添加折線到地圖上
</script>

⑵ java.util.hashtable實現了哪個interface

一、Map
map介面,集合類的介面,聲明了map的常用方法。所有的map都繼承自改介面

二、java.io.Serializable介面,
介面里沒有聲明任何方法,該介面用來實現對象的序列化反序列化功能

三、java.lang.Cloneable
介面里沒有聲明任何方法,該介面實現對象復制功能

四. AbstractMap
重要的類:AbstractMap<K,V>

AbstractMap抽象類實現了一些簡單且通用的方法,

在這個抽象類中有兩個方法非常值得關注,keySet和values方法源碼的實現可以說是教科書式的典範。

抽象類通常作為一種骨架實現,為各自子類實現公共的方法。

Java中Map類型的數據結構有相當多,AbstractMap作為它們的骨架實現實現了Map介面部分方法,也就是說為它的子類各種Map提供了公共的方法,沒有實現的方法各種Map可能有所不同。

抽象類不能通過new關鍵字直接創建抽象類的實例,但它可以有構造方法。AbstractMap提供了一個protected修飾的無參構造方法,意味著只有它的子類才能訪問(當然它本身就是一個抽象類,其他類也不能直接對其實例化),也就是說只有它的子類才能調用這個無參的構造方法。

在Map介面中其內部定義了一個Entry介面,這個介面是Map映射的內部實現用於維護一個key-value鍵值對,key-value存儲在這個Map.Entry中。AbstractMap對這個內部介面進行了實現,一共有兩個:一個是可變的SimpleEntry和一個是不可變的SimpleImmutableEntry。

1. SimpleEntry

1.1 定義
實現了Map.Entry<K, V>介面,並且實現了Serializable(可被序列化)。它的方法比較簡單都是取值存值的操作,對於key值的定義是一個final修飾意味著是一個不可變的引用。

1.2 setValue
ll另外其setValue方法稍微特殊,存入value值返回的並不是存入的值,而是返回的以前的舊值。

源碼:

1.3 equals和hashCode
需要重春臘點學習的是它重寫的equals和hashCode方法。

eq方法

要想正確重寫equals方法並能正確使用,通常還需要重寫hashCode方法。因為集合中的元素,判斷是否一樣時,先hash再equals,這也是個知識點,詳細的,學習一下原理。

hashcode源碼源亮:可以看成求hashcode值時,即返回的int數據,是key.hashCode() ^ value.hashCode(),即key、value的hashcode值異或

2. SimpleImmutableEntry

2.1 定義
源碼:

它相比於SimpleEntry其key和value成員變數都被定義為了final類型。即定義為不可變的Entry,不提供setValue方法,不能通過setValue方法進行修改。

2.2 setValue
調用setValue方法將會拋出UnsupportedOperationException異常。即定義為不可變的Entry,不提供setValue方法,不能通過setValue方法進行修改。

它的equals和hashCode方法和SimpleEntry一致。

3. 實現的Map介面方法

接下來查看AbstractMap抽象類實現了哪些Map介面中的方法。

3.1 public int size()
Map中定義了一個entrySet方法,返回的是Map.Entry的Set集合,直接調用Set集合的size方法即是Map的大小。

3.2 public boolean isEmpty()
調用size方法,等於0即為空。

3.3 public boolean containsValue(Object value)
這個方法的實現較為簡單,通過調用entrySet方法獲取Set集合的迭雹森寬代器遍歷Map.Entry,獲取對應的value與參數value比較。Map可以存儲為null的value值,由於value=null在Map中存儲比較特殊(不能計算hashCode值),所以在這里也做了判斷參數value是否為空。

public boolean containsKey(Object key)

這個方法實現和containsValue一致。

3.4 public V get(Object key)
這個方法實現和containsValue類似,不同的是上面相等返回boolean,這個方法返回value值。

3.5 public V put(K key, V value)
向Map中存入key-value鍵值對的方法並沒有具體實現,會直接拋出一個UnsupportedOperationException異常。

6 public V remove(Object key)
通過參數key刪除Map中指定的key-value鍵值對。這個方法也很簡單,也是通過迭代器遍歷Map.Entry的Set集合,找到對應key值,通過調用 Iterator.remove() 方法刪除Map.Entry。

7. public void putAll(Map<? extends K, ? extends V> m)
這個方法也很簡單遍歷傳入的Map,調用put方法存入就可以了。

public void clear()

調用entrySet方法獲取Set集合再調用Set#clear()方法清空。

keyset

返回Map key值的Set集合。AbstractMap中定義了一個成員變數「transient Set<K> keySet」,在JDK7中keySet變數是由volatile修飾的,但在JDK8中並沒有使用volatile修飾。在對keySet變數的注釋中解釋道,訪問這些欄位的方法本身就沒有同步,加上volatile也不能保證線程安全。關於keySet方法的實現就有點意思了。

首先思考該方法是返回key值的Set集合,很自然的能想到一個簡單的實現方式,遍歷Entry數組取出key值放到Set集合中,類似下面代碼:

這就意味著每次調用keySet方法都會遍歷Entry數組,數據量大時效率會大大降低。不得不說JDK源碼是寫得非常好,它並沒有採取遍歷的方式。如果不遍歷Entry,那又如何知道此時Map新增了一個key-value鍵值對呢?

答案就是在keySet方法內部重新實現了一個新的自定義Set集合,在這個自定義Set集合中又重寫了iterator方法,這里是關鍵,iterator方法返回Iterator介面,而在這里又重新實現了Iterator迭代器,通過調用entrySet方法再調用它的iterator方法。下面結合代碼來分析:

五、 Dictionary
Dictionary 類是一個抽象類,用來存儲鍵/值對,作用和Map類相似。

給出鍵和值,你就可以將值存儲在Dictionary對象中。一旦該值被存儲,就可以通過它的鍵來獲取它。所以和Map一樣, Dictionary 也可以作為一個鍵/值對列表。Dictionary類已經過時了。在實際開發中,你可以實現Map介面來獲取鍵/值的存儲功能。

打開CSDN,閱讀體驗更佳

HashMap、TreeMap、Hashable和LinkedHashMap_kgu的博客
HashMap、TreeMap、Hashable和LinkedHashMap Map是最重要的數據結構之一。開始會告訴怎麼用HashMap、TreeMap、Hashtable和LinkedHashMap 1、Map概述 在Java SE中有4種Map的實現:HashMap、TreeMap、Hashtable和LinkedHashMap. HashMap:用哈...
繼續訪問
Python 介面:從協議到抽象基類_weixin_30492047的博客
首先,基本的事實是,Python語言沒有 interface 關鍵字,而且除了抽象基類,每個類都有介面:類實現或繼承的公開屬性(方法或數據屬性),包括特殊方法,如__getitem__ 或 __add__。 按照定義,受保護的屬性和私有屬性不在介面中:即便「受保護...
繼續訪問
最新發布 Java集合(九)HashMap介面
HashMap小結:(1)Map介面的常用實現類:HashMap、Hashtable和Properties(2)HashMap是Map介面使用頻率最高的實現類(3)HashMap是以key-val對的方式來存儲數據(HashMap$Node類型)(4)key不能重復,但是值可以重復,允許使用null鍵和null值(5)如果添加相同的key,則會覆蓋原來的key-val,等同於修改.(key不會替換,val會替換)我們來把斷點放在map.put("no1","張三豐「);
繼續訪問

Hashtable和HashMap的異同
Hashtable和HashMap兩者的原理相同,功能相同,很多情況下可以互用。 Hashtable和HashMap的主要區別如下: 1、Hashtable繼承自Dictionary類,而HashMap實現了Map介面 2、Hashtable線程安全,HashMap重速度、輕安全,是線程非安全的,所以當運行到線程環境中時,需要程序員自己管理線程的同步問題。 3、Hashtable不允許null值(key和value都不允許),HashMap允許null值(key和value都允許) 其他異同點可參照博客:
繼續訪問
Hashable / Hasher_weixin_33909059的博客
哈希函數的選擇應該作為實現細節,而不是設計中的固定部分;因此,使用者不應該依賴於編譯器自動生成的 Hashable 函數的具體特徵。最可能的實現是在每個成員的哈希值上調用標准庫中的_mixInt函數,然後將他們邏輯異或(^),如同目前Collection類...
繼續訪問
php的數據結構_PHP 的數據結構擴展_myh991235的博客
Sequence 是類數組數據結構的基礎介面,定義了很多重要且方便的方法,比如 contains, map, filter, rece, find, first, last 等。從圖中可知,Vector, Deque, Stack, Queue 都直接或者間接的實現了這個介面。 Hashable 在圖中看起來比...
繼續訪問
33.Java之Map介面實現類(HashMap、HashTable、Properties、TreeSet 和 TreeMap基本介紹,HashMap 底層機制)
Map 介面的常用實現類:HashMap、Hashtable 和 Properties 33.1 HashMap 基本介紹 是 Map 介面使用頻率最高的實現類 是以 Key-value 的方式來存儲數據(HashMap$Node類型) Key 不能重復,但是值可以重復,允許使用 Null 鍵和 Null 值 如果添加相同的 Key,則會覆蓋原來的 Key-value,等同於修改(Key不會替換,value會替換) 與 HashSet 一樣,不保證映射的順序(即添加順序與輸出順序不一樣),因為底層是以
繼續訪問

Map介面:HashMap與HashTable的區別
1)HashMap和Hashtable都實現了Map介面,但是繼承的父類不同: public class Hashtable extends Dictionary implements Map public class HashMap extends AbstractMap implements Map2)HashMap是非synchronized,執行速度快,而HashTab...
繼續訪問
php7 唯一數字_PHP7中高效的數據結構_王雷Neo的博客
實現Hashable介面的數據結構是Map和Set。 Map 一個Map 是一個鍵值對的連續集合,和數組幾乎一致。鍵可以是任何類型,但是必須唯一。 強項: 性能和內存效率和數組幾乎一致 當長度降低的時候自動釋放內存 ...
繼續訪問
java常見筆試_Java 常見筆試題(2)_weixin_39998462的博客
java.util.Hashtable實現了哪個介面? A. java.util.Map B. java.util.List C. java.util.Hashable D. java.util.Collection 9. 1. class A implements Runnable{ 2. int i; 3.
繼續訪問
實現原理_HashTable實現原理
概要前一章,我們學習了HashMap。這一章,我們對Hashtable進行學習。我們先對Hashtable有個整體認識,然後再學習它的源碼,最後再通過實例來學會使用Hashtable。第1部分 Hashtable介紹第2部分 Hashtable數據結構第3部分 Hashtable源碼解析(基於JDK1.6.0_45)第4部分 Hashtable遍歷方式第5部分 Hashtable示例轉載請註明出處...
繼續訪問
Hashtable源碼分析
前言:Hashtable線程安全的集合類,雖然它線程安全,然而在日常開發中使用的頻率很低,畢竟鎖的顆粒度太大了。但是這並不妨礙我們對其內部原理進行了解。 註:本文jdk源碼版本為jdk1.8.0_172。 1.Hashtable基本概念 Hashtable與HashMap一樣,都是以鍵值對的形式存儲數據。但是Hashtable的鍵值不能為null,而HashMap的鍵值是可以為...
繼續訪問
Swift自定義Class實現Hashable_weixin_30273763的博客
增加代碼後,發現編譯器依然報錯"Type 'Bit' does not conform to protocol 'Equatable'"-沒有實現Equatable協議。 2.實現Equatable Commend+click點擊Hashable定義,進入後再點擊Equatable協議定義,可以看到如下定義: ...
繼續訪問
Array,Vertor,Arraylist,Hashable,Hashmap等幾個易混淆的概念_tjjhz...
1.歷史原因:Hashtable是基於陳舊的Dictionary類的,HashMap是Java1.2引進的Map介面的一個實現 2.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的
繼續訪問
Hashtable簡述
散列表(Hash table,也叫哈希表),是根據關鍵碼值(Key value)而直接進行訪問的數據結構。也就是說,它通過把關鍵碼值映射到表中一個位置來訪問記錄,以加快查找的速度。這個映射函數叫做散列函數,存放記錄的數組叫做散列表。......
繼續訪問

Map介面與實現類HashTable
Map介面與實現類HashTable 源碼位置 rt.jar/java.util包下 源碼類 public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable 特點 1、集合中key不能重復,若put時集合已含有此key,那新值會替換舊值;key,value不能為null 2、HashTable/Map中存放數
繼續訪問
Java面試知識整理_加溫的啤酒的博客_java面試知識整理
都實現了list介面,都是有序的 vector線程是安全的,arraylist線程是不安全的 vector數據增長是原來的一倍,arraylist是數據增長是原來的0.5倍 hashmap和hashable的區別 hashmap是hashable的輕量級實現,hashmap允許空鍵值,hashable不允許 ...
繼續訪問
javase基礎知識總結_id_1314520的博客
interface介面: 默認所有方法都是抽象的,並且public修飾的. 屬性: 默認為public修飾的常量(public final修飾的) abstract抽象類: 類名被abstract修飾的類; 裡面可以有抽象方法, 也可以沒有抽象方法; 實現介面類,可以重寫也可以不重寫介面...
繼續訪問
集合—Map介面實現類-Hashtable
本次博客帶領大家學習集合中的Map介面實現類-Hashtable。
繼續訪問
Hashtable 和 HashMap
HashMap和Hashtable都實現了Map介面,但決定用哪一個之前先要弄清楚它們之間的分別。主要的區別有:線程安全性,同步(synchronization),以及速度。 1.HashMap幾乎可以等價於Hashtable,除了HashMap是非synchronized的,並可以接受null(HashMap可以接受為null的鍵值(key)和值(value),而Hashtable則不行)。 2...
繼續訪問
hashMap和hashTable的區別以及HashMap的底層原理?
hashMap和hashTable的區別? 1、繼承的父類不同 HashTable繼承Dictionary類,而hashMap繼承了AbstractMap類,但是二者都實現了map介面。 2、線程安全性不同 Hashtable 線程安全,因為它每個方法中都加入了Synchronize。HashMap是線程不安全的。​ HashMap底層是一個Entry數組,當發生hash沖突的時候,ha......
繼續訪問

java---Map介面的實現類HashMap和Hashtable
package LyfPractice;import java.util.*;/** * Created by fangjiejie on 2016/12/19. */ /*Hashmap和Hashtable的區別 1.相同:都實現了Map介面,實現了key和value的保存與映射,有很多相同的方法 2.不同: Hashmap:是map介面的實現類 ,非同步,線程不安全 ,速度快,可以有
繼續訪問
Map 介面實現類-Hashtable
Map 介面實現類-Hashtable
繼續訪問

29. Map介面繼承關系 / Map介面概述 / HashMap底層實現原理及相關知識 / Map常用方法 / TreeMap、Properties
Map介面繼承關系 Map介面概述 Map與Collection並列存在。用於保存具有映射關系的數據:key-value Map 中的 key 和 value 都可以是任何引用類型的數據 Map 中的 key 用Set來存放, 不允許重復,即同一個 Map 對象所對應 的類,須重寫hashCode()和equals()方法 常用String類作為Map的「鍵」 key 和 value 之間存在單向一對一關系,即通過指定的 key 總能找到 唯一的、確定的 value Map介面的常用實現類: HashM
繼續訪問

Map介面的實現類----HashMap
Map介面的實現類----HashMap。
繼續訪問

JAVA基礎 介面與繼承 HashMap使用
https://blog.csdn.net/u010575093/article/details/50731281 抽象類中可以定義成員變數,而介面中定義的成員變數實際上都是常量 介面不可繼承抽象類,抽象類可實現多個介面。介面與介面之間是繼承,用extends,可繼承多個介面 mport java.util.HashMap; import java.util.Map; interface T...
繼續訪問
【Java_基礎深入】LinkedHashMap 繼承 HashMap又實現 Map 介面背後的設計思想
JDK源碼的類定義 public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable public class LinkedHashMap<K,V> extends HashMap<K,V> implements...
繼續訪問

Map介面及其實現類HashMap、LinkedHashMap和Hashtable的簡單介紹
一、Map集合的特點 Map集合是一個雙列集合,一個元素包含兩個值(一個是key,一個是value)Map集合的特點 Map集合中的元素,key和value的數據類型可以相同也可以不同 Map集合中的元素,key是不允許重復的,value是可以重復的 Map集合中的元素,key和value是一一對應的 Map的常用方法 1、public V put (K key, V value)方法 作用:把指定的鍵與指定的值添加到Map集合中 返回值V的含義:存儲鍵值對的時候,key如果不重復,返回值v是null;
繼續訪問
Java 集合系列11之 Hashtable詳細介紹(源碼解析)和使用示例
轉 http://www.cnblogs.com/skywang12345/p/3310887.html#top Java 集合系列11之 Hashtable詳細介紹(源碼解析)和使用示例 概要 前一章,我們學習了HashMap。這一章,我們對Hashtable進行學習。 我們先對Hashtable有個整體認識,然後再學習它的源碼,最後再通過實例來學會使用Has
繼續訪問
HashTable實現原理
有兩個類都提供了一個多種用途的hashTable機制,他們都可以將可以key和value結合起來構成鍵值對通過put(key,value)方法保存起來,然後通過get(key)方法獲取相對應的value值。一個是前面提到的HashMap,還有一個就是馬上要講解的HashTable。對於HashTable而言,它在很大程度上和HashMap的實現差不多,如果我們對HashMap比較了解的話,對Has

⑶ 百度地圖api java怎麼用

一、申請密鑰
1、先用eclipse創建一個android工程
2、在網路api官網上申請一個密鑰,鏈接:http://lbsyun..com/apiconsole/key
bubuko.com,布布扣
二、工程配置
1、將mapapi_vX_X_X.jar拷貝到工程libs目錄下,將libBaiMapSDK_vX_X_X.so拷貝到libs\armeabi
目錄下,拷貝完成後,如下所示:
註:liblocSDK3.so和locSDK_3.1.jar為網路定位SDK所使用資源,開發者可根據實際需求自行添加。
bubuko.com,布布扣
2、右鍵工程屬性,在Libraries中選擇「Add External JARs」,選擇mapapi_vX_X_X.jar,確定返回
配置好以上步驟,即可使用網路地圖了

三、顯示網路地圖
1、在android配置清單文件中AndroidManifest.xml添加開發密鑰和所需許可權
<application> <meta-data android:name="com..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..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中map可以存放哪些信息

java map是以鍵值對的方式保存數據的,map中的鍵key和值value可以是各種對象,如String、Double、Integer、或者自己定義的類對象,不能是普通基本類型如int、double等

⑸ 怎麼樣使用java來獲得百度地圖開源介面中,IP定位返回的結果

gson,先按 那格式,定義一個類BaiGeo

Gson gson = new Gson();
result = gson.fromJson(sTotalString, BaiGeo.class);

⑹ java中Map類有什麼作用,具體怎麼用呢

map是以鍵值對來存儲數據的,例如:
Map map = new HashMap();
map.put("移動","10086");
String c = map.get("移動");
結果c="10086」;
簡單來說,map就像我們手機的電話本,用map.put("移動","10086"),就是在電話本保存了移動的電話,然後當你想拿移動的電話時候就用String c = map.get("移動");就可以拿到電話號碼了。其實學習結合生活實際比較容易理解,也學得快。

⑺ 怎樣在java中調用百度地圖的API

網路地圖Web服務API為開發者提供http介面,即開發者通過http形式發起檢索請求,獲取返回json或xml格式的檢索數據。
api官網說明鏈接:

http://developer..com/map/webservice.htm

1、可用介面列舉:
獲取相關地址提示 place suggestion
http://api.map..com/place/v2/suggestion?query=水杉®ion=成都&output=json&ak=

2、獲取坐標 geocoding

http://api.map..com/geocoder?address=錦江區菱安路299號&output=json&key=

http://api.map..com/place/v2/search?ak=&output=json&query=藍光coco金沙&page_size=10&page_num=0&scope=1®ion=成都
{
"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、設施導航
http://api.map..com/place/v2/search?ak=&output=json&query=圖書館&page_size=20&page_num=0&scope=2®ion=成都

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

/**
* 返回輸入地址的經緯度坐標 key lng(經度),lat(緯度)
*/
public static Map<String, 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("http://api.map..com/geocoder?address="
+ address + "&output=json&key=" + 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("")){
Map<String, 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 HashMap<String, String>();
map.put("lng", lng);
map.put("lat", lat);
return map;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

public static void main(String args[]) {

Map<String, String> map = LocationUtil.getLatitude("成都 高新西區西區大道1398號");
if (null != map) {
System.out.println(map.get("lng"));
System.out.println(map.get("lat"));
}
}
}

閱讀全文

與java地圖介面相關的資料

熱點內容
linux字元設備驅動程序 瀏覽:57
全排列演算法java 瀏覽:465
中國銀行app轉賬電子回單在哪裡 瀏覽:51
操作簡單的程序員 瀏覽:600
數值積分演算法求pi 瀏覽:18
按鈕怎麼連命令方塊 瀏覽:909
房貸還清後不解壓能貸款嗎 瀏覽:36
程序員哄老婆開心技術 瀏覽:672
oracle自動備份壓縮文件 瀏覽:855
遵義人字形加密網帶 瀏覽:255
寧波人社在哪裡下載app 瀏覽:92
好噠商戶app下載在哪裡下載 瀏覽:609
廣發兌星巴克是在app哪裡操作 瀏覽:783
linuxgetline 瀏覽:215
app的懸浮窗許可權在哪裡設置 瀏覽:686
51單片機定時器溢出標志 瀏覽:373
單片機燒寫方法圖解 瀏覽:399
遍歷輸出java 瀏覽:551
貴妃app直播哪裡下載 瀏覽:273
android手機屏幕寬度和高度 瀏覽:816