利用天地圖接口編寫經(jīng)緯度查詢轉(zhuǎn)換網(wǎng)頁

最近項目需要采集核對?PGIS警用地圖的經(jīng)緯度,高德和百度這些民用地圖坐標(biāo)強(qiáng)制漂移過的馏鹤,需要公式轉(zhuǎn)換才能用可以看我另一篇文章(http://www.reibang.com/p/b9a8e44ed306

考慮了一下直接調(diào)用國家測繪局的天地圖(采用CGCS2000)數(shù)據(jù),因為天地圖與警用地圖坐標(biāo)其實相差無幾阳仔。

需要提前申請KEY給網(wǎng)頁用

天地圖官方演示案例可以參考:

http://lbs.tianditu.gov.cn/api/js4.0/examples.html

主要需要2個功能

1.使用名稱獲得坐標(biāo)信息

2.使用坐標(biāo)獲得地理信息

直接上代碼递礼,沒有學(xué)過前端,東拼西湊寫的比較簡陋大神勿噴讹语。


<!DOCTYPE?html>

<html>

<head>

????<meta?http-equiv="content-type"?content="text/html;?charset=utf-8"/>

????<meta?name="keywords"?content="地圖"/>

????<title>天地圖經(jīng)緯度查詢</title>

????<style?type="text/css">body,html{width:100%;height:100%;margin:0;font-family:"Microsoft?YaHei"}#mapDiv{width:100%;height:75%}input,b,p{margin-left:5px;font-size:14px}</style>

????<script?type="text/javascript"?src="http://api.tianditu.gov.cn/api?v=4.0&tk=這里填寫自己申請的密鑰"></script>

????<script>

????????var?map;

????????var?zoom?=?12;

????????var?geocode;

????????function?onLoad()

????????{

????????????//初始化地圖對象

????????????map=new?T.Map("mapDiv");

????????????//設(shè)置顯示地圖的中心點(diǎn)和級別

????????????map.centerAndZoom(new?T.LngLat(120.69534,27.9982),zoom=14);

????????????//創(chuàng)建對象

????????????geocode?=?new?T.Geocoder();?

????????????map.addEventListener("click",?function(e){

????????????????geocode.getLocation(e.lnglat,searchResult);

????????????});

????????}

????????//?3.用鼠標(biāo)點(diǎn)擊地圖獲得詳細(xì)信息

????????function?searchResult(result)

????????{

????????????if(result.getStatus()?==?0)

????????????{

????????????????//?添加點(diǎn)位符合

????????????????map.clearOverLays();

????????????????searchGEO(result);

????????????????//?顯示點(diǎn)擊展示的信息

????????????????document.getElementById("addressMsg").innerHTML?=?"<font?style='font-weight:700'>詳細(xì)地址:"+result.getAddress();+"</font>"

????????????????var?location?=?result.getLocationPoint();

????????????????var?html?=?"<font?style='font-weight:700'>GPS經(jīng)緯度:"+location.lng+","+location.lat+"</font><br/>";?


????????????????var?addressComponent?=?result.getAddressComponent();

????????????????var?html?=?"<font?style='font-weight:700'>詳細(xì)信息如下:</font><br/>";

????????????????html?+=?"<font?style='font-size:12px'>此點(diǎn)最近地點(diǎn)信息:"+addressComponent.address+"</font><br/>";

????????????????html?+=?"<font?style='font-size:12px'>距離此點(diǎn)最近poi點(diǎn)的距離:"+addressComponent.poi_distance+"米</font><br/>";

????????????????html?+=?"<font?style='font-size:12px'>距離此點(diǎn)最近poi點(diǎn):"+addressComponent.poi+"</font><br/>";

????????????????document.getElementById("detailedAddress").innerHTML?=?html;

????????????}

????????????else

????????????{

????????????????document.getElementById("addressMsg").innerHTML?=?"<font?style='font-weight:700'>服務(wù)器返回狀態(tài):</font>"+result.getStatus();

????????????????document.getElementById("detailedAddress").innerHTML?=?"<font?style='font-weight:700'>服務(wù)器返回響應(yīng)信息:</font>"+result.getMsg();

????????????}

????????}

????????//?2.坐標(biāo)反查詢設(shè)置地圖

????????function?setCenterAndZoom()?{

????????????var?lng?=?document.getElementById("lng").value;

????????????var?lat?=?document.getElementById("lat").value;

????????????map.centerAndZoom(new?T.LngLat(lng,?lat),?zoom=17);

????????????map.clearOverLays();

????????????var?lnglat?=?new?T.LngLat(lng,?lat);

????????????geocode.getLocation(lnglat,searchGEO);

????????}

????????//?1.使用地理編碼接口獲得坐標(biāo)信息

????????function?searchGEO(result)

????????{

????????????if(result.getStatus()?==?0){

????????????????map.panTo(result.getLocationPoint(),?17);

????????????????//創(chuàng)建標(biāo)注對象

????????????????var?marker?=?new?T.Marker(result.getLocationPoint());

????????????????//向地圖上添加標(biāo)注

????????????????map.addOverLay(marker);

????????????????//?點(diǎn)擊出現(xiàn)信息窗口

????????????????var?location?=?result.getLocationPoint();

????????????????var?markerInfoWin?=?new?T.InfoWindow(result.getAddress()+'<br/>'+location.lng+","+location.lat);

????????????????marker.openInfoWindow(markerInfoWin);

????????????}else{

????????????????alert(result.getMsg());

????????????}

????????}

????//?0.提取文本用于上面檢索

????????function?search(){

????????????map.clearOverLays();

????????????geocode.getPoint(document.getElementById("searchPoint").value,?searchGEO);

????????}


</script>

</head>

<body?onLoad="onLoad()">

<div?id="mapDiv"?></div>

<div>

????<font?style='font-weight:1000'>1.使用地理編碼獲得坐標(biāo)信息:</font>

????<input?id="searchPoint"?type="search"??size="25"?onkeydown="this.onkeyup();"?onkeyup="this.size=(this.value.length>25?this.value.length:25);"??value="溫州市"?/>

????<input?type="button"?value="搜索"?onclick="search();"?/>

</div>??

<div?>

????<font?style='font-weight:700'>2.使用坐標(biāo)信息獲得地理編碼:</font>

????經(jīng)度:<input?id="lng"?type="search"?size="25"?onkeydown="this.onkeyup();"?onkeyup="this.size=(this.value.length>25?this.value.length:25);"?placeholder="120.69563">

????緯度:<input?id="lat"?type="search"?size="25"?onkeydown="this.onkeyup();"?onkeyup="this.size=(this.value.length>25?this.value.length:25);"?placeholder="27.99766">

????<input?type="button"?value="搜索"?onClick="setCenterAndZoom()"/>

????<!--?<button?type="submit"?id="btn"?οnClick="setCenterAndZoom()">搜索</button>?-->

</div>

<div?>

????<font?style='font-weight:700'>3.用鼠標(biāo)點(diǎn)擊地圖獲得詳細(xì)信息:</font>

????<div?id="addressMsg"?style="font-size:14px"></div>?<div?id="detailedAddress"?style="font-size:14px"></div>

</div>

</body>

</html>

成果展示
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者蜂科。
  • 序言:七十年代末顽决,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子导匣,更是在濱河造成了極大的恐慌才菠,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贡定,死亡現(xiàn)場離奇詭異赋访,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)缓待,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進(jìn)店門蚓耽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人旋炒,你說我怎么就攤上這事步悠。” “怎么了瘫镇?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵贤徒,是天一觀的道長。 經(jīng)常有香客問我汇四,道長,這世上最難降的妖魔是什么踢涌? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任通孽,我火速辦了婚禮,結(jié)果婚禮上睁壁,老公的妹妹穿的比我還像新娘背苦。我一直安慰自己互捌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布行剂。 她就那樣靜靜地躺著秕噪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪厚宰。 梳的紋絲不亂的頭發(fā)上腌巾,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天,我揣著相機(jī)與錄音铲觉,去河邊找鬼澈蝙。 笑死,一個胖子當(dāng)著我的面吹牛撵幽,可吹牛的內(nèi)容都是我干的灯荧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼盐杂,長吁一口氣:“原來是場噩夢啊……” “哼逗载!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起链烈,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤厉斟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后测垛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捏膨,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年食侮,在試婚紗的時候發(fā)現(xiàn)自己被綠了号涯。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡锯七,死狀恐怖链快,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情眉尸,我是刑警寧澤域蜗,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站噪猾,受9級特大地震影響霉祸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜袱蜡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一丝蹭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧坪蚁,春花似錦奔穿、人聲如沸镜沽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缅茉。三九已至,卻和暖如春男摧,著一層夾襖步出監(jiān)牢的瞬間蔬墩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工彩倚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留筹我,地道東北人。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓帆离,卻偏偏與公主長得像蔬蕊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子哥谷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評論 2 354