2017-10-17 71 views
0

我正试图从地图中的网站显示所有用户的地理定位。通过谷歌地图API文档,我有一种方式来显示我的位置作为用户。但是,如何让网站显示来自网站注册用户的所有地理位置?如何在Google地图API显示全球地图时自动注册用户地理位置?

<div id="map"></div> 
<script> 

    function initMap() { 
    var map = new google.maps.Map(document.getElementById('map'), { 
     center: {lat: -34.397, lng: 150.644}, 
     zoom: 6 
    }); 
    var infoWindow = new google.maps.InfoWindow({map: map}); 

    // Try HTML5 geolocation. 
    if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(function(position) { 
     var pos = { 
      lat: position.coords.latitude, 
      lng: position.coords.longitude 
     }; 

     infoWindow.setPosition(pos); 
     infoWindow.setContent('Location found.'); 
     map.setCenter(pos); 
     }, function() { 
     handleLocationError(true, infoWindow, map.getCenter()); 
     }); 
    } else { 
     // Browser doesn't support Geolocation 
     handleLocationError(false, infoWindow, map.getCenter()); 
    } 
    } 

    function handleLocationError(browserHasGeolocation, infoWindow, pos) { 
    infoWindow.setPosition(pos); 
    infoWindow.setContent(browserHasGeolocation ? 
          'Error: The Geolocation service failed.' : 
          'Error: Your browser doesn\'t support geolocation.'); 
    } 
</script> 
+2

嗨,欢迎来到StackOverflow。请参阅https://stackoverflow.com/help/how-to-ask,了解如何根据指南提出正确的问题并改进您的问题。作为第一步,请将适当的格式和标识应用于您的代码,它现在是一个混乱的阅读。 –

+0

对不起。希望现在好一点。 – Caesar

+0

所以,如果我的理解正确,你想在地图上的注册用户的坐标添加标记?如果是:与显示自己的地理位置的方式相同,只需使用注册用户的纬度/经度坐标添加标记即可。 –

回答

0

创建google.maps.Marker()类型的对象,使用它的功能设置的位置,并使用setMap功能添加到您的地图。

例(纬度/液化天然气是德国的中心 - 插入用户坐标那里):

var marker=new google.maps.Marker(); 
// use your registered user coordinates here 
marker.setPosition(new google.maps.LatLng(48.14544, 8.19208)); 
marker.setMap(map); 

此外,您可以使用界限,让您的地图自动缩放让每一个标记可见:

var bounds=new google.maps.LatLngBounds(); 
... 
bounds.extend(marker.getPosition()); 
... 
map.fitBounds(bounds); 
相关问题