从外部js文件编辑现有的谷歌地图
edit an existing google map from an external js file
我想在一个带有外部js文件的页面上编辑所有谷歌地图。假设我有5个页面,每个页面有3个谷歌地图。我想在每个谷歌地图上加一个圆圈。如何从将在每个页面中加载的外部javascript文件中做到这一点?
带有多个地图和外部JS文件的基本页面:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
<script>
var maps = [];
function drawMaps(){
for(var i = 1; i<4;i++){
drawMap(i);
}
}
function drawMap(num){
var mapcontainer=document.getElementById("map"+num);
var options={
center: new google.maps.LatLng(40.266323, -73.996579),
zoom:8,
maptypeid:google.maps.MapTypeId.ROADMAP
};
var map=new google.maps.Map(mapcontainer,options);
maps.push(map);
var circle=new google.maps.Circle({
map:map,
center:new google.maps.LatLng(40.266323, -73.996579),
radius:10000,
fillColor:"blue",
border:0,
strokeWeight:0
});
}
window.addEventListener("load", drawMaps);
</script>
<script src="externalJS.js"></script>
</head>
<html>
<body>
<div style="height:400px;width:400px" id="map1"></div>
<div style="height:400px;width:400px" id="map2"></div>
<div style="height:400px;width:400px" id="map3"></div>
</body>
</html>
请注意用作所有贴图的可访问bin的数组。还要注意窗口侦听器的"加载"
外部JS文件内容:
function addToAllMaps(){
if(maps!=undefined){
for (var i in maps){
var map = maps[i];
var circle=new google.maps.Circle({
map:map,
center:new google.maps.LatLng(40.266323, -73.996579),
radius:1000000,
fillColor:"red",
border:0,
strokeWeight:0
});
}
}
}
window.addEventListener("load", addToAllMaps);
请注意它是如何引用贴图数组并将红色圆圈应用于循环中的每个数组的。还要注意加载的窗口侦听器。通过使用此事件,我们可以添加多个事件,按照事件的定义顺序,在本例中,按照脚本的加载顺序。
相关文章:
- 谷歌地图固定位置覆盖
- 不显示带有本地json文件数据的谷歌地图脚本
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 从外部js文件编辑现有的谷歌地图
- 编辑现有的谷歌地图元素
- 谷歌地图可编辑多边形过滤器 从set_at事件中拖动事件
- 如何编辑最新的谷歌地图
- 谷歌地图从数组中编辑多个标记
- 使4000点的多边形在谷歌地图v3中可编辑
- 如何在不禁用编辑的情况下禁用谷歌地图绘图工具
- 谷歌地图api v3:为编辑后的多边形添加自定义撤消/重做功能
- 谷歌地图api v3:点击一个按钮使多边形不可编辑
- 编辑优化的谷歌地图路线
- 编辑折线在谷歌地图
- 如何在谷歌地图编辑折线
- 谷歌地图Api V3 -可编辑的信息窗口
- 连接并扩展谷歌地图上的多边形编辑功能
- 单击以添加标记,并在谷歌地图上打开一个可编辑的文本框
- 谷歌地图 JS API 3 - 自定义叠加层中的可编辑表单
- 编辑现有的谷歌地图