编辑现有的谷歌地图元素
Edit existing Google Maps element
对于一个网站,我正在使用谷歌地图在地图上添加折线以显示路线。有些路线由多条腿(阶段)组成,我正在尝试"根据要求"添加折线。因此,只有当用户选择显示一条腿时,它才会绘制折线。此外,用户可能会选择完全不同的路线,这组新的折线也应该在地图上绘制。
我的问题是我似乎无法弄清楚或找到如何选择现有地图。我首先使用以下代码创建地图:
qMap = new google.maps.Map(document.getElementById(mP.target), mapOptions);
mP.target
包含一个带有画布id
的字符串,mapOptions
只是一个带有一些选项的对象,没有什么特别的。
所以我用qMap
做各种事情,比如添加标记、画折线等。这不仅应该在地图启动时完成,还应该在用户想要添加内容时完成。 qMap
不是一个全局变量,我也宁愿它不是一个全局变量。
我尝试了qMap = google.maps.Map(document.getElementById(mP.target))
和其他类似的方法。没有成功。我希望你能帮助我找到一种没有全局变量的方法!谢谢!
您可以尝试几种方法。
1) 将代码包装在立即调用的函数中。这样,任何变量都包含在函数的范围内,并且不会逃逸以污染全局变量空间,我想这是您主要关注的问题。
(function () {
var mapGlobal = new google.maps.Map(target, options);
function thatDoesSomething(){
// do something with mapGlobal
}
}());
2) 使用一个静态对象,它可能对组织你的代码很方便。
var Map = {
map: new google.maps.Map(target, options),
thatDoesSomething: function () {
// do something with this.map
}
};
3)或将它们组合在一起。
(function () {
var Map = {
map: new google.maps.Map(target, options),
thatDoesSomething: function () {
// do something with this.map
}
};
}());
相关文章:
- 在谷歌地图 API 中,不会为 img 元素触发 Onclick 事件
- Android默认浏览器:谷歌地图制作“;位置:相对;元素在页面顶部滚动
- 谷歌地图:从地图元素中获取纬度和经度
- 谷歌地图获取点击事件中的sender元素
- 谷歌地图事件-获取点击元素的父级
- 谷歌地图API V3-元素不会隐藏点击事件切换
- 编辑现有的谷歌地图元素
- 谷歌地图API V3 - 元素点击 - 中心地图/打开信息窗口
- 谷歌地图只在iPad上导致不可见的html元素,奇怪的行为为什么
- 将HTML链接添加到谷歌地图圆圈元素
- 如何定位谷歌地图自定义信息框上的元素
- 如何访问谷歌地图's容器元素
- 谷歌地图API没有正确加载界面元素
- 将变量传递给Google Maps事件对象.(谷歌地图多边形,外部元素悬停)
- 可以从元素中删除谷歌地图吗?
- 如何在谷歌地图InfoWindow中创建CSS样式的dom元素
- 如何在聚合物中使用谷歌地图方向元素
- JS谷歌地图打破固定元素
- 用d3.js添加几个地图元素到谷歌地图
- 全屏谷歌地图顶部的HTML元素