成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

谷歌地圖 API 開發(fā)之添加標(biāo)記(解析以及補充)

崔曉明 / 3002人閱讀

摘要:今天又看了下官網(wǎng),發(fā)現(xiàn)官網(wǎng)上有地圖標(biāo)記的詳細(xì)說明。請注意,上述方法并不會刪除該標(biāo)記。查看示例也可以參考上一篇文章,谷歌地圖開發(fā)之添加標(biāo)記其實跟官網(wǎng)的基本原理也是一樣的。表示該標(biāo)記應(yīng)該在原地彈跳。將自動調(diào)整圖標(biāo)大小。

今天又看了下官網(wǎng),發(fā)現(xiàn)官網(wǎng)上有地圖標(biāo)記的詳細(xì)說明。當(dāng)時居然眼瞎看不見,還琢磨了好久...#$%^&,一定是項目太急,沒看到(^o^)/~
地址:https://developers.google.com...

添加標(biāo)記

google.maps.Marker 的構(gòu)造函數(shù)只需傳入一個 MarkerOptions 對象字面量,用于指定標(biāo)記的初始屬性。

以下字段特別重要,并且在構(gòu)建標(biāo)記時通常會進行設(shè)置:

position(必填)指定用于標(biāo)識標(biāo)記的初始位置的 LatLng。 map(可選)指定用來放置標(biāo)記的

Map。如果您在構(gòu)建標(biāo)記時未指定地圖,則標(biāo)記會被創(chuàng)建,但不會附加到(或顯示在)地圖上。您以后可以通過調(diào)用標(biāo)記的 setMap() 方法來添加標(biāo)記。

以下示例將一個簡單的標(biāo)記添加到烏魯魯(位于澳大利亞的中心)的地圖上:

function initMap() {
  var myLatLng = {lat: -25.363, lng: 131.044};

  var map = new google.maps.Map(document.getElementById("map"), {
    zoom: 4,
    center: myLatLng
  });

  var marker = new google.maps.Marker({
    position: myLatLng,
    map: map,
  });
}

在以上示例中,在構(gòu)建標(biāo)記時使用了 MarkerOptions 中的 map 屬性將該標(biāo)記放置在地圖上?;蛘?,您也可以直接使用標(biāo)記的 setMap() 方法將該標(biāo)記添加到地圖上,如以下示例中所示:

var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
var mapOptions = {
  zoom: 4,
  center: myLatlng
}
var map = new google.maps.Map(document.getElementById("map"), mapOptions);

var marker = new google.maps.Marker({
    position: myLatlng,
});

// To add the marker to the map, call setMap();
marker.setMap(map);
移除標(biāo)記

要從地圖上移除標(biāo)記,請調(diào)用 setMap() 方法并傳遞 null 作為自變量。

marker.setMap(null);

請注意,上述方法并不會刪除該標(biāo)記。它只是將該標(biāo)記從地圖上移除。如果您是想刪除該標(biāo)記,則應(yīng)該從地圖上移除它,然后將該標(biāo)記本身設(shè)置為 null。

如果您希望管理一組標(biāo)記,則應(yīng)該創(chuàng)建一個數(shù)組來保存這些標(biāo)記。使用此數(shù)組,您就可以依次對數(shù)組中的每個標(biāo)記調(diào)用 setMap() 來移除這些標(biāo)記。您也可以刪除這些標(biāo)記,只需先將其從地圖上移除,然后將數(shù)組的 length 設(shè)置為 0,這將移除這些標(biāo)記的所有引用。

查看示例 (marker-remove.html)

也可以參考上一篇文章,谷歌地圖API 開發(fā) 之 添加標(biāo)記 其實跟官網(wǎng)的基本原理也是一樣的。

以動畫方式呈現(xiàn)標(biāo)記

您可以通過動畫的方式呈現(xiàn)標(biāo)記,以便它們能夠在各種不同的情況下展現(xiàn)出動態(tài)移動的效果。要指定某個標(biāo)記的動畫呈現(xiàn)方式,請使用該標(biāo)記的 animation 屬性,其類型為 google.maps.Animation。可支持以下 Animation 值:

DROP 表示第一次將該標(biāo)記放置在地圖上時,該標(biāo)記應(yīng)該從地圖頂部下落到其最終位置。一旦標(biāo)記停止移動,動畫即停止,并且 animation 將還原為 null。在創(chuàng)建 Marker 時,通常會指定這種類型的動畫。

BOUNCE 表示該標(biāo)記應(yīng)該在原地彈跳。彈跳標(biāo)記將持續(xù)彈跳,直到其 animation 屬性顯式設(shè)置為 null。

您可以通過對 Marker 對象調(diào)用 setAnimation() 來對現(xiàn)有標(biāo)記啟動動畫。

var marker;

function initMap() {
  var map = new google.maps.Map(document.getElementById("map"), {
    zoom: 13,
    center: {lat: 59.325, lng: 18.070}
  });

  marker = new google.maps.Marker({
    map: map,
    draggable: true,   //marker 設(shè)為 可拖動
    animation: google.maps.Animation.DROP, //動畫屬性設(shè)為DROP
    position: {lat: 59.327, lng: 18.067}
  });
  marker.addListener("click", toggleBounce); //監(jiān)聽marker點擊時執(zhí)行togglerBounce方法切換動畫屬性 
}

function toggleBounce() {
  if (marker.getAnimation() !== null) {
    marker.setAnimation(null);
  } else {
    marker.setAnimation(google.maps.Animation.BOUNCE);
  }
}

查看示例 (marker-animations.html)。

標(biāo)記的圖標(biāo)

在最基本的情況下,圖標(biāo)可以簡單地表示一個要代替默認(rèn)的 Google Maps 圖釘圖標(biāo)的圖像。要指定這樣的圖標(biāo),請將標(biāo)記的 icon 屬性設(shè)置為某個圖像的 URL。Google Maps API 將自動調(diào)整圖標(biāo)大小。

function initMap() {
  var map = new google.maps.Map(document.getElementById("map"), {
    zoom: 4,
    center: {lat: -33, lng: 151}
  });

  var image = "images/beachflag.png";
  var beachMarker = new google.maps.Marker({
    position: {lat: -33.890, lng: 151.274},
    map: map,
    icon: image   //圖標(biāo)
  });
}

查看示例 (icon-simple.html)。

好了,谷歌添加標(biāo)記的就整理這么多,想深入研究的小伙伴可以第一行的官網(wǎng)查看下。
然后要開始今天的重要內(nèi)容 如何獲取當(dāng)前點擊的坐標(biāo)以及城市街道地址,寫到下一篇。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/90869.html

相關(guān)文章

  • 谷歌地圖 API 開發(fā)添加標(biāo)記

    摘要:創(chuàng)建地圖之后,基本上都需要標(biāo)記位置的,就是那個圓點。然后參考谷歌的,找了許久,網(wǎng)址代碼如下創(chuàng)建對象地圖居中到當(dāng)前坐標(biāo)這段運行效果,就是你點擊地圖就會添加一個標(biāo)記。 創(chuàng)建地圖之后,基本上都需要標(biāo)記位置的,就是那個圓點。然后參考谷歌的API,找了許久,網(wǎng)址:https://developers.google.com... 代碼如下: Accessing arg...

    huaixiaoz 評論0 收藏0
  • 谷歌地圖 API 開發(fā)信息窗口

    摘要:信息窗口具有一個內(nèi)容區(qū)域和一個錐形柄。添加信息窗口構(gòu)造函數(shù)采用了對象字面量,后者為顯示信息窗口指定了一組初始參數(shù)。其中包含此信息窗口錨定位置的。在標(biāo)記上打開信息窗口將自動更新。用于指定信息窗口的最大寬度以像素為單位。 信息窗口 簡介 InfoWindow 在地圖上方給定位置的彈出窗口中顯示內(nèi)容(通常為文本或圖像)。信息窗口具有一個內(nèi)容區(qū)域和一個錐形柄。柄頂部與地圖上的某指定位置相連。 ...

    princekin 評論0 收藏0
  • 學(xué)習(xí)設(shè)計模式前需要知道的事情

    摘要:為什么要學(xué)習(xí)設(shè)計模式做事情之前問個為什么總是好的。設(shè)計模式的使用方法關(guān)于使用方式,像我這種初學(xué)者最容易犯的錯誤就是生搬硬套,但是模仿本來也是學(xué)習(xí)的一個過程,最重要的事情是在模仿中要學(xué)會思考。 為什么要學(xué)習(xí)設(shè)計模式? 做事情之前問個為什么總是好的。關(guān)于設(shè)計模式的好壞,我在知乎上也看過一些討論,有知友對其提出過一些疑問,里面有一些關(guān)于設(shè)計模式的觀點: 設(shè)計模式有何不妥,所謂的荼毒體現(xiàn)在哪...

    kviccn 評論0 收藏0
  • 谷歌地圖 API 開發(fā)新建地圖

    摘要:最近項目用到谷歌地圖,但是看谷歌文檔,對于國人來說,還是比較吃力的,網(wǎng)上找資料也并沒有太多的資料,所以就想分享給大家。顯示了整個地球地圖的完全縮放。 最近項目用到谷歌地圖,但是看谷歌api文檔,對于國人來說,還是比較吃力的,網(wǎng)上找資料也并沒有太多的資料,所以就想分享給大家。但是因為本人太懶了,每次研究技術(shù)完事時間一久就忘了,更別提分享了,在朋友的鼓勵支持之下,重新開始寫博客,共享給大家...

    Winer 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<