首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向google earth添加标记

向google earth添加标记
EN

Stack Overflow用户
提问于 2012-10-23 05:48:07
回答 2查看 347关注 0票数 0

如何向地图添加新标记?我设法显示了地图function startGoogleMaps(),但我的函数(onclick())不起作用。

代码语言:javascript
复制
function startGoogleMaps(){    
    var map = new google.maps.Map(document.getElementById('canvasMap'), {
        zoom: 5,
        center: initCenter,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });            
}

document.getElementById("testButton").onclick = function(){
    var marker = new google.maps.Marker({
      position: (37, -97),
      map: map,
      title:"Hello World!"});
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-23 05:58:38

尝试在绑定单击事件的同一作用域中定义map对象:

代码语言:javascript
复制
var map = null;

function startGoogleMaps(){    
    map = new google.maps.Map(document.getElementById('canvasMap'), {
        zoom: 5,
        center: initCenter,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });            
}

document.getElementById("testButton").onclick = function(){
    var marker = new google.maps.Marker({
      position: (37, -97),
      map: map,
      title:"Hello World!"});
}

另请注意,您需要将您的位置作为google.maps.LatLng的实例进行传递

代码语言:javascript
复制
      ...
      position: google.maps.LatLng(37, -97),
      ...
票数 2
EN

Stack Overflow用户

发布于 2012-10-23 05:58:40

请记住,Javascript使用函数作用域。您需要全局声明map,如下所示:

代码语言:javascript
复制
var map;

function startGoogleMaps(){    
    map = new google.maps.Map(document.getElementById('canvasMap'), {
        zoom: 5,
        center: initCenter,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });            
}

document.getElementById("testButton").onclick = function(){
    var marker = new google.maps.Marker({
      position: new google.maps.LatLng(37, -97),
      map: map,
      title:"Hello World!"});
}

此外,标记本身可能不在地图的范围内,因此您可以使用map.fitBounds正确显示它:

代码语言:javascript
复制
document.getElementById("testButton").onclick = function(){
    var marker = new google.maps.Marker({
      position: new google.maps.LatLng(37, -97),
      map: map,
      title:"Hello World!"});

    var latlngbounds = new google.maps.LatLngBounds();
    latlngbounds.extend(new google.maps.LatLng(37, -97));
    map.fitBounds(latlngbounds);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13020439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档