js谷歌地图

<html>
	<head>
		<script src="https://maps.googleapis.com/maps/api/js?key=">
		</script>

		<script>
			var myCenter = new google.maps.LatLng(39.839472,116.288262);
//模拟数据
var data = '[{"siteTreeNo":"1","siteName":"站点1","lat":39.839472,"lon":116.288262,"alarmCount":15,"alarmLevel":0},{"siteTreeNo":"2","siteName":"站点2","lat":39.844835,"lon":116.289155,"alarmCount":5,"alarmLevel":1},{"siteTreeNo":"3","siteName":"站点3","lat":39.9219731094,"lon":116.655365911,"alarmCount":23,"alarmLevel":2}]';

data = JSON.parse(data);
var markersArray = [];
var map;
function initialize(){
var mapProp = {
  center:myCenter,
  zoom:9,//缩放级数
  mapTypeId:google.maps.MapTypeId.ROADMAP
  };

	map = new google.maps.Map(document.getElementById("googleMap"),mapProp);
	// alert(mapProp)
	var latlngbounds = new google.maps.LatLngBounds();
	for(var p in data){
		console.info(data[p]);
		var position = new google.maps.LatLng(data[p].lat,data[p].lon);
		latlngbounds.extend(position);
		//告警图标
		var icon = data[p].alarmLevel == 0 ? 'images/marker0.png' : 'images/marker1.png';
		var marker = new google.maps.Marker({
			position : position,
			map : map,
			icon:icon
		});
		markersArray.push(marker);
		//marker.setMap(map);
		//将站点数据绑定,方便获取
		for(var s in data[p]){
			marker[s]= data[p][s];
		}
		addmessage(marker,p);//闭包
	}
	//绑定maps中心点,居中显示
	map.setCenter(latlngbounds.getCenter());
	map.fitBounds(latlngbounds); 
	//给地图绑定点击事件
	google.maps.event.addListener(map, 'click', function(event) {
		placeMarker(event.latLng);
	});
	
}
//消息框
var infowindow = new google.maps.InfoWindow();
function addmessage(marker, num) {
	google.maps.event.addListener(marker, 'click', function() {
		console.info(marker);
		var cotent = ['站点编号:'+marker.siteTreeNo,'站点名称:'+marker.siteName,'经度:'+marker.lon,'纬度:'+marker.lat,'告警总数:'+marker.alarmCount];
		infowindow.setContent(cotent.join('<br/>'));
		infowindow.open(marker.get('map'), marker);
	});
}

// 把叠加物从地图上清除
function clearOverlays() {  
  for (var i = 0; i < markersArray.length; i++ ) {  
    markersArray[i].setMap(null);  
  }  
  markersArray.length = 0;  
} 
function placeMarker(location) {
  clearOverlays();
  var marker = new google.maps.Marker({
    position: location,
    map: map,
  });
  markersArray.push(marker);
  var infowindow = new google.maps.InfoWindow({
    content: 'Latitude: ' + location.lat() + '<br>Longitude: ' + location.lng()
  });
  infowindow.open(map,marker);
}

google.maps.event.addDomListener(window, 'load', initialize);
// 
</script>
	</head>

	<body>
		<div id="googleMap" style="width:500px;height:380px;"></div>

		<input type="button" value="清除页面所有点" onclick="clearOverlays()" />

	</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值