首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >同一javascript文件中不同位置的两个googlemaps框

同一javascript文件中不同位置的两个googlemaps框
EN

Stack Overflow用户
提问于 2018-10-12 01:55:34
回答 1查看 31关注 0票数 -1

我正在尝试找出我的代码中的错误:

我想要将地图添加到相同的脚本文件中,我可以使用条件语句来实现,但是,当我到达位置和标记部分时,我无法显示我的图钉、信息窗口和图标。

下面是我的代码:

代码语言:javascript
复制
var map, locs;
function initMap() {
	if (document.getElementById('map')) {
		map = new google.maps.Map(document.getElementById('map'), {
			center: {lat: 01, lng: -01},
			zoom: 15
		});

		var image = 'http:myimage.png';

		var locations = [

		['<div class="OzwZjf-jRmmHf-MZArnb-KDwhZb fO2voc-jRmmHf-LJTIlf"><p>My Location</p>' 49.27597, -123.1185, 1]];

		var infowindow = new google.maps.InfoWindow();

		var marker, i;

		for (i = 0; i < locations.length; i++) {  
			marker = new google.maps.Marker({
				position: new google.maps.LatLng(locations[i][1], locations[i][2]),
				map: map,
				icon: image
			});

			google.maps.event.addListener(marker, 'click', (function(marker, i) {
				return function() {
					infowindow.setContent(locations[i][0]);
					infowindow.open(map, marker);
				}
			})(marker, i));
		}
	} else if (document.getElementById('locs')) {

		locs = new google.maps.Map(document.getElementById('locs'), {
			center: {lat:02, lng: -02},
			zoom: 4
		});

		var image = 'http:myimage.png';

		var locations_two = [

		['<div class="OzwZjf-jRmmHf-MZArnb-KDwhZb fO2voc-jRmmHf-LJTIlf"><p>My Location</p>' 02, -02, 1]];

		var infowindow = new google.maps.InfoWindow();

		var marker_two, i;

		for (i = 0; i < locations_two.length; i++) {  
			marker_two = new google.maps.Marker({
				position: new google.maps.LatLng(locations_two[i][1], locations_two[i][2]),
				map: map,
				icon: image
			});

			google.maps.event.addListener(marker_two, 'click', (function(marker, i) {
				return function() {
					infowindow.setContent(locations_two[i][0]);
					infowindow.open(map, marker);
				}
			})(marker_two, i));
		}
	}
}
google.maps.event.addDomListener(window, "load", initMap);
代码语言:javascript
复制
#map {height: 500px;}
#locs {height: 500px;}
代码语言:javascript
复制
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map"><div>
<div id="locs"><div>

这两个地图都在不同的页面上,我只能看到第一个有位置,第二个没有位置,标记和信息窗口。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-12 02:06:46

变化

代码语言:javascript
复制
marker_two = new google.maps.Marker({
            position: new google.maps.LatLng(locations_two[i][1], locations_two[i][2]),
            map: map,
            icon: image
        });

代码语言:javascript
复制
marker_two = new google.maps.Marker({
            position: new google.maps.LatLng(locations_two[i][1], locations_two[i][2]),
            map: locs,
            icon: image
        });

您需要使用locs,因为这是您创建的第二个地图对象,并且是您在创建标记而不是map时需要传递的对象。

此外,01、02也不是有效的浮点值。您需要将它们更改为1,2,这将使它们成为有效的浮点数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52766271

复制
相关文章

相似问题

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