【问题标题】:Is there a way to limit Google Maps Markers on web?有没有办法限制网络上的谷歌地图标记?
【发布时间】:2018-06-05 20:01:30
【问题描述】:

我基本上有一个 Ionic 应用程序,它可以让用户点击地图并将其返回给用户,没有问题。我的问题是当用户在地图上多次点击时,我添加了标记以告知用户他选择的位置,我希望这样每次他点击地图时,标记的数量都会保持为一个。

【问题讨论】:

    标签: javascript google-maps typescript ionic-framework


    【解决方案1】:

    也许您正在创建一个新标记并使用marker.setMap(map); 这将创建一个新标记并将其添加到当前地图。

    不要定义新的标记,而是使用 setPosition 来改变当前标记的位置:

    marker.setPosition(position);
    

    其中位置是从点击位置开始的 {lat,lng} 数组;不要忘记将标记定义为全局变量,这样您就可以在创建地图和更新位置时使用它;

    var marker;
    function initMap() {
            //Here you initialize the map and marker then
            marker.setMap(map);
          }
    function updateMarkerPosition(lat,lng){
        marker.setPosition({lat:" + lat +",lng:"+ lng+ "});
    }
    

    【讨论】:

    • 成功了! export class className{ marker: any; } ionViewDidLoad(){ this.initMap(); } initMap(){ this.marker = new google.maps.Marker({map: map}); } google.maps.event.addListener(map, 'click', event=>{ this.updateMarkerPosition(event.latLng(), event.latLng.lng()); } } updateMarker Position(lat, lng){ this.marker.setPosition({ lat: lat, lng: lng }) }
    猜你喜欢
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 2023-03-10
    • 2014-01-07
    • 2022-01-07
    • 1970-01-01
    • 2018-09-26
    • 2015-05-18
    相关资源
    最近更新 更多