我在下面有以下代码:
<!DOCTYPE html>
<head>
<title>Geolocation Service</title>
<script src="http://maps.googleapis.com/maps/api/js"></script>
<script>
function initialize() {
var lat = ???;
var lng = ???;
var map = {
center:new google.maps.LatLng(lat,lng),
zoom:5,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map=new google.maps.Map(document.getElementById("mapcontainer"), map);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="mapcontainer">
<!--Map goes here-->
</div>
</body>
<style>
*
{
margin: 0;
}
#mapcontainer
{
width: 100vw;
height: 100vh;
}
</style>
</html>
在我的变量lat
和lng
中,我将它们设置为???
,因为我不知道如何获得我当前的位置。我刚开始学习Google Geolocation API。谢谢!
答案 0 :(得分:1)
如果您使用Google Loader加载Google地图,则可以使用google.loader.CurrentLocation
获取基于IP的位置,如this answer
另一种选择是利用HTML5 GeoLocation API:
function initialize() {
// Is HTML5 geolocation supported
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position){
var lat = position.coords.latitude;
var lng = position.coords.longitude;
//..
});
}
}
您可能会发现Google Maps JavaScript API - Geolocation示例有用。