利用JavaScript和Google API在网页中加入地图

首先获取当前位置的经纬度,然后利用谷歌的API来显示一个地图,并用大头针标记自己的当前位置。

<html>
	<head>
		<meta charset="utf-8">
		<title>Google Map</title>
		<style>
			.map {
				width: 400px;
				height: 400px;
				border: 2px solid black;
				position: relative;
				top: 10px;
			}
		</style>
		<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
		<script>
			window.onload = getMyLocation;

			function getMyLocation() {
				if (navigator.geolocation) {
					navigator.geolocation.getCurrentPosition(displayLocation);
				} else {
					alert("Sorry,no geolocation support");
				}
			}

			function displayLocation(position) {
				var latitude = position.coords.latitude;
				var longitude = position.coords.longitude;
				var div = document.getElementById('location');
				div.innerHTML = 'You are at Latitude:' + latitude + ',Longitude:' + longitude;

				//显示地图
				showMap(position.coords); 
			}

			var map;//用于保存地图
			function showMap(coords) {
				var googleLatAndLong = new google.maps.LatLng(coords.latitude,coords.longitude);
				var mapOptions = {
					zoom: 10,
					center:googleLatAndLong,
					mapTypeId:google.maps.MapTypeId.ROADMAP
				};
				var mapDiv = document.getElementById('map');
				map = new google.maps.Map(mapDiv,mapOptions);

				//调用addMarker函数
				var title = "Your Location";
				var content = "You are here:" + coords.latitude + ", " + coords.longitude;
				addMarker(map,googleLatAndLong,title,content);
			}

			//用于在地图上显示大头针的函数
			function addMarker(map,latlong,title,content) {
				var markerOptions = {
					position: latlong,
					map:map,
					title:title,
					clickable:true
				};
				var marker = new google.maps.Marker(markerOptions);
				var infoWindowOptions = {
					content: content,
					position: latlong
				};
				var infoWindow = new google.maps.infoWindow(infoWindowOptions);
				google.maps.event.addListener(marker,'click',function() {
					infoWindow.open(map);
				});
			}
		</script>
	</head>

	<body>
		<div id="location">
			Your location will go here.
		</div>
		<div id="map" class="map">			
		</div>
	</body>
</html>

最终效果如下:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值