使用lat或long gmaps v3删除标记 [英] Remove marker using lat or long gmaps v3

查看:138
本文介绍了使用lat或long gmaps v3删除标记的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用标记的lat或long来删除现有的标记。我有一个按钮,它是调用删除功能。删除功能将删除标记为lat或long,这是定义但是方法不工作

 <!DOCTYPE html> 
< html>
< head>
< meta name =viewportcontent =initial-scale = 1.0,user-scalable = no>
< meta charset =utf-8>
< title>简单标记< / title>
< style>
html,body,#map-canvas {
height:100%;
margin:0px;
padding:0px
}
< / style>
< script src =https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false>< / script>
< script>
函数initialize(){
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-canvas'),mapOptions);

var marker = new google.maps.Marker({
position:myLatlng,
map:map,
title:'Hello World!'
});
}
函数remove()
{
var lastMarker = new google.maps.Marker({
map:map,
position:new google。 maps.LatLng(-25.363882,131.044922)
});
lastMarker.setMap(null);
}
google.maps.event.addDomListener(window,'load',initialize);

< / script>
< / head>
< body>
< div style =width:500px; height:500px; ID = 地图画布 >< / DIV>
< input type =buttononclick =remove()value =删除/>
< / body>
< / html>


解决方案

您可以将标记存储在某个地方(例如, )并使用latLng作为关键:

  var markers = {}; 

/*......*/

标记[myLatlng] = new google.maps.Marker({
position:myLatlng,
map:map,
title:'Hello World!'
});

/*,...*/

函数removeMarker(lat,long){
try {
markers [new google。 maps.LatLng(lat,long)]。setMap(null);
} catch(e){}
}

演示: http://jsfiddle.net/3qw8d/3/


I want remove a existing marker using marker's lat or long . I have a button which is call remove function . The remove function will remove the marker as a lat or long which is define but method is not working

<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
        <meta charset="utf-8">
        <title>Simple markers</title>
        <style>
            html, body, #map-canvas {
                height: 100%;
                margin: 0px;
                padding: 0px
            }
        </style>
        <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
        <script>
            function initialize() {
                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-canvas'), mapOptions);

                var marker = new google.maps.Marker({
                    position: myLatlng,
                    map: map,
                    title: 'Hello World!'
                });
            }
            function remove()
            {
                var lastMarker = new google.maps.Marker({
                    map: map,
                    position: new google.maps.LatLng(-25.363882, 131.044922)
                });
                lastMarker.setMap(null);
            }
            google.maps.event.addDomListener(window, 'load', initialize);

        </script>
    </head>
    <body>
        <div style="width: 500px; height: 500px;" id="map-canvas"></div>
        <input type="button" onclick="remove()" value="Remove" />
    </body>
</html>

解决方案

You may store the markers somewhere (e.g. in a object) and use the latLng as key:

     var markers = {};

 /*......*/

     markers[myLatlng] = new google.maps.Marker({
                position: myLatlng,
                map: map,
                title: 'Hello World!'
            });

 /*.......*/

    function removeMarker(lat, long) {
        try {
            markers[new google.maps.LatLng(lat, long)].setMap(null);
        } catch (e) {}
    }

Demo: http://jsfiddle.net/3qw8d/3/

这篇关于使用lat或long gmaps v3删除标记的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆