在很多時(shí)候,您需要您的用戶標(biāo)出一個(gè)位置,比如:一個(gè)房地產(chǎn)網(wǎng)站,用戶在登記新樓盤的時(shí)候,就需要在地圖上標(biāo)出這個(gè)樓盤的位置,這個(gè)時(shí)候就可以用到本接口。
地圖標(biāo)注接口(EZMarker API)是我要地圖網(wǎng)(51ditu.com)新推出的地圖標(biāo)注接口,利用該接口,您就可以輕松的實(shí)現(xiàn)在地圖上標(biāo)注位置、采集位置信息等操作。如圖所示案例: ![]() ![]() 點(diǎn)擊查看示例 返回頂部 如果您希望自己編寫腳本,來訪問和處理標(biāo)注接口中的值,那么標(biāo)注接口提供了相應(yīng)的方法和事件來滿足您的需求。 代碼示例如下: <table> <tr><td colspan='2'>如何獲取標(biāo)注接口的值</td></tr> <tr><td>經(jīng)度</td><td><input type="text" id="x" name="x"></td></tr> <tr><td>緯度</td><td><input type="text" id="y" name="y"></td></tr> <tr><td>比例尺級(jí)別</td><td><input type="text" id="z" name="z"></td></tr> </table> <script language="JavaScript"> <!-- //setMap是ezmarker內(nèi)部定義的接口,這里可以根據(jù)實(shí)際需要實(shí)現(xiàn)該接口 function setMap(point,zoom) { document.getElementById("x").value=point.getLongit ude(); document.getElementById("y").value=point.getLatitu de(); document.getElementById("z").value=zoom; } var ezmarker = new LTEZMarker("pos"); LTEvent.addListener(ezmarker,"mark",setMap);//"mar k"是標(biāo)注事件 //--> </script> 如果您希望在使用標(biāo)注接口的時(shí)候,標(biāo)注接口只顯示指定城市的地圖,或著說默認(rèn)為您指定城市的地圖,而不是全國地圖,您可以通過以下代碼示例實(shí)現(xiàn)該功能。 為標(biāo)注接口指定默認(rèn)城市,如果沒有指定,則默認(rèn)為全國地圖。<br> 在用戶沒有標(biāo)注之前,用戶選擇哪個(gè)城市作為標(biāo)注接口默認(rèn)顯示城市都可以。<br> 但當(dāng)用戶標(biāo)注后,標(biāo)注接口顯示的地圖將是用戶標(biāo)注時(shí)的地圖。 <p> 請(qǐng)選擇城市:<br> <input onclick="javascript:setCity();" type="radio" name="city" value="beijing">北京<br> <input onclick="javascript:setCity();" type="radio" name="city" value="shanghai">上海<br> <input onclick="javascript:setCity();" type="radio" name="city" value="tianjin">天津<br> <input onclick="javascript:setCity();" type="radio" name="city" value="chongqing">重慶<br> <br> <script language="JavaScript"> <!-- var ezmarker = new LTEZMarker("ezmarker"); function setCity(){ var collection; collection = document.all["city"]; for (i=0;i<collection.length;i++) { if (collection[i].checked){ var c = collection[i].value; ezmarker.setDefaultView(c,7); break; } } } //--> </script> 如果您希望將用戶選擇地點(diǎn)的地理坐標(biāo)值,直接發(fā)送到您的服務(wù)端,只需要將以下代碼放在用來給服務(wù)器發(fā)送內(nèi)容的表單(Form)之中即可。 點(diǎn)擊查看示例 在這種情況下,當(dāng)用戶點(diǎn)擊按鈕發(fā)送該表單的時(shí)候,EZMarker中的地理信息將和其他的Form信息一起被發(fā)送給服務(wù)器,服務(wù)器將會(huì)收到EZMarker通過Form傳遞的如下內(nèi)容: 無論用GET還是POST方式,都能適用。 注意,其中的"ezmarker"是您創(chuàng)建EZMarker時(shí)構(gòu)造器中的參數(shù),假如您在頁面上使用了兩個(gè)EZMarker,例如第二個(gè)為: 那么服務(wù)器將收到ezmarker1.x,ezmarker1.y,和ezmarker1.z與之相對(duì)應(yīng)。 搜索控件是標(biāo)注接口的一個(gè)擴(kuò)展控件,用來向用戶提供搜索功能,以便于用戶能夠快速的定位到自己想要的位置。 您可以通過LTEZMarker的setSearch方法來為標(biāo)注接口添加或取消搜索功能(默認(rèn)自帶搜索控件),該方法的詳細(xì)說明見類參考。 以下是一個(gè)簡單的范例: <script language="javascript"> var ez=new LTEZMarker("ezmarker"); ez.setDefaultView("beijing",5);//地圖默認(rèn)定位到北京 ez.setSearch(true,"北京");//在地圖上顯示搜索控件,并將默認(rèn)搜索城市指定為北京 </script> 地圖搜索控件是標(biāo)注接口的又一個(gè)擴(kuò)展控件,用來向用戶提供快捷的定位功能,用戶可以通過該控件快捷的找到自己所在的城市。 您可以通過LTEZMarker的setPlaceList方法來為標(biāo)注接口添加或地圖搜索功能(默認(rèn)自帶地圖搜索控件),該方法的詳細(xì)說明見類參考。 以下是一個(gè)簡單的范例: 假如您同時(shí)添加了搜索控件和地圖搜索控件,則地圖搜索控件同時(shí)可以更改搜索城市,因此用戶可以在選擇的任意一個(gè)城市進(jìn)行搜索。 |
|