【问题标题】:Add marker to existing google map (without refresh google map) [duplicate]将标记添加到现有的谷歌地图(不刷新谷歌地图)[重复]
【发布时间】:2015-04-26 17:02:47
【问题描述】:

我的网站上有一个谷歌地图(生产中),标记很少,我想知道是否可以在现有地图上添加一个标记而不刷新我的谷歌地图。

这是我所拥有的:

  • 我加载我的网页,谷歌地图出现了标记

  • 点击一个按钮,我想在我的地图上添加一个标记(不刷新我的页面或谷歌地图)

我可以通过刷新我的谷歌地图来实现这一点,但由于每天谷歌地图显示的限制,我认为最好不要刷新。

这是我的代码:

    <button onclick="addMarker()">Add marker</button>
<script>
    function addMarker(){
    var myLatLng = new google.maps.LatLng(44, 6);
    var marker = new google.maps.Marker({
                position: myLatLng,
                map: map,
            });
    }
</script>

【问题讨论】:

  • 您的 map-variable 在它不起作用时无法全局访问。另外:你应该给按钮type-attribute button,否则它将是一个提交按钮。

标签: javascript jquery ajax google-maps google-maps-api-3


【解决方案1】:

是的。当您最初添加标记时,您可能会执行以下操作:

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

地图已经存在(地图:地图),并且您添加了标记。您可以稍后执行相同的操作来添加更多标记。

【讨论】:

    【解决方案2】:
    var latlng = new google.maps.LatLng(42.745334, 12.738430);
    
    function addmarker(latilongi) {
        var marker = new google.maps.Marker({
            position: latilongi,
            title: 'new marker',
            draggable: true,
            map: map
        });
        map.setCenter(marker.getPosition())
    }
    
    $('#btnaddmarker').on('click', function() {
        addmarker(latlng)
    })
    

    【讨论】:

    • 地图会在 addmarker(latilongi) 中正常工作,还是如果您有多个地图,您想通过 addmarker(latilongi, map) 传递它吗?
    • 在我的情况下它不起作用,它会刷新我的地图。我的地图是风格化的(黑白颜色),当我点击我的按钮时,地图出现时没有我的颜色(黑白),似乎地图被刷新了
    • 你能给我们一份你的地图吗?
    • 是的,这是我的 jsfiddle:jsfiddle.net/anna33/z5mojbve/7 谢谢你
    猜你喜欢
    • 2013-08-28
    • 2014-07-19
    • 2015-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 2011-10-04
    相关资源
    最近更新 更多