Javascript 谷歌地图:重叠标记器
所以我是谷歌地图的初学者,我一直在看重叠Markerspiderfier Github的说明,但经过几个小时的摆弄,我什么都做不到!我的代码非常简单,因为我正在学习。代码如下:Javascript 谷歌地图:重叠标记器,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,所以我是谷歌地图的初学者,我一直在看重叠Markerspiderfier Github的说明,但经过几个小时的摆弄,我什么都做不到!我的代码非常简单,因为我正在学习。代码如下: <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> <meta charset="utf-8">
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>Simple markers</title>
<style>
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
</style>
<script src="http://jawj.github.io/OverlappingMarkerSpiderfier/bin/oms.min.js"></script> //added the file
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
<script>
function initialize() {
var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
var mapOptions = {
zoom: 4,
center: myLatlng
}
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var oms = new OverlappingMarkerSpiderfier(map); //Spiderfied it here
var iw = new gm.InfoWindow();
oms.addListener('click', function(marker, event) {
iw.setContent(marker.desc);
iw.open(map, marker);
});
oms.addListener('spiderfy', function(markers) {
iw.close();
});
var locations = ["Sydney, Australia", "Sydney, Australia", "Sydney, Australia", "Sydney, Australia"]
for (var i = 0; i < locations.length; i ++) {
var title_i = "title " + i;
var desc_i = "description " + i;
var loc = new gm.LatLng(-35.3080, 149.1245);
var marker = new gm.Marker({
position: loc,
title: title_i,
map: map
});
marker.desc = desc_i;
oms.addMarker(marker); // <-- here attempted to add markers
}
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas"></div>
</body>
</html>
简单标记
html,正文,#地图画布{
身高:100%;
边际:0px;
填充:0px
}
//添加了该文件
函数初始化(){
var mylatng=new google.maps.LatLng(-25.363882131.044922);
变量映射选项={
缩放:4,
中心:myLatlng
}
var map=new google.maps.map(document.getElementById('map-canvas'),mapOptions);
var oms=new OverlappingMarkerSpiderfier(map);//在此处对其进行了加密
var iw=新的gm.InfoWindow();
oms.addListener('click',函数(标记,事件){
iw.setContent(marker.desc);
iw.打开(地图、标记);
});
oms.addListener('spiderfy',函数(标记){
iw.close();
});
var地点=[“澳大利亚悉尼”、“澳大利亚悉尼”、“澳大利亚悉尼”、“澳大利亚悉尼”、“澳大利亚悉尼”]
对于(变量i=0;i
您必须首先加载maps API,然后加载oms.min.js
您已经完成了此部分:var gm=google.maps;
。请将其放在initialize()的开头。
我可以再问一个问题吗?@user3758332你当然可以再问一个问题: