javascript - 如何将 map 以当前用户位置为中心(地理定位

标签 javascript geolocation location point

我有这段代码,我想以用户位置为中心,因为现在它以我拥有的坐标(丹麦哥本哈根上方)为中心,并且它是固定的。我需要使我的代码将 map 以用户位置为中心并显示其周围的点

function initialize() {

var locations = [
    ['kastelet', 55.6911, 12.5939],
    ['norebro', 55.6883, 12.5597],
    ['noreport', 55.6832, 12.5714],
    ['edisikvosi', 55.678272, 12.503643,],
    ['Sentosa', 55.713207, 12.526474,]
    ];

var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 12,
    center: new google.maps.LatLng(55.6750, 12.5687),
    mapTypeId: google.maps.MapTypeId.ROADMAP
});

var infowindow = new google.maps.InfoWindow();

var marker, i;

for (i = 0; i < locations.length; i++) {
    marker = new google.maps.Marker({
        position: new google.maps.LatLng(locations[i][1], locations[i][2]),
        map: map
    });

    google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
            infowindow.setContent(locations[i][0]);
            infowindow.open(map, marker);
        }
    })(marker, i));
}

// Check if user support geo-location
if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(function(position) {
        var latitude = position.coords.latitude;
        var longitude = position.coords.longitude;
        var geolocpoint = new google.maps.LatLng(latitude, longitude);

        var mapOptions = {
            zoom: 8,
            center: geolocpoint,
            mapTypeId: google.maps.MapTypeId.HYBRID
        }
        // Place a marker
        var geolocation = new google.maps.Marker({
            position: geolocpoint,
            map: map,
            title: 'Your geolocation',
            icon: 'http://labs.google.com/ridefinder/images/mm_20_green.png'
        });
    });
}
}
google.maps.event.addDomListener(window, 'load', initialize);​

最佳答案

使用map.setCenter

 .....
 navigator.geolocation.getCurrentPosition(function(position) {
        var latitude = position.coords.latitude;
        var longitude = position.coords.longitude;
        var geolocpoint = new google.maps.LatLng(latitude, longitude);
          map.setCenter(geolocpoint );//line added for setting center
......

关于javascript - 如何将 map 以当前用户位置为中心(地理定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13108759/

相关文章:

javascript - 我有一个 jQuery 轮播/ slider ,需要计数器 slider

javascript - 传递给函数的参数在 await 后消失

ruby - 通过 Ruby 实现 Google Maps Geolocation API

javascript - Web 应用程序中的地理位置欺骗保护

geolocation - Openstreetmaps 和 Nominatim : Do I install both or does Nominatim include openstreetmaps?

java - 从服务中检索位置

ios - 使用 startMonitoringSignificantLocationChanges 时是否应该显示位置服务指示器(状态栏中的箭头)?

javascript:在没有库的情况下保存字符/数字

javascript - 当特定文本显示在另一个 div 中时,jQuery 替换 div 中的文本(动态更新的 Shopify 定价变体)

iphone - iOS显示取决于位置和时间的通知