центр карт Google на текущем местоположении - PullRequest
1 голос
/ 15 декабря 2011

Есть ли возможность центрировать карту на текущем местоположении?

Я пытался сделать это довольно долгое время, но я не нашел решения, которое работает.

Ответы [ 2 ]

1 голос
/ 15 декабря 2011

Вы можете сделать это с помощью JavaScript и HTML5 Geo API:

<!DOCTYPE HTML>
<html>
<head>
<script src="http://maps.google.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(function(position){
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude;
    var coords = new google.maps.LatLng(latitude, longitude);
    var mapOptions = {
        zoom: 15,
        center: coords,
        mapTypeControl: true,
        navigationControlOptions: {
            style: google.maps.NavigationControlStyle.SMALL
        },
        mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(
            document.getElementById("mapContainer"), mapOptions
            );
        var marker = new google.maps.Marker({
                position: coords,
                map: map,
                title: "Your current location!"
        });

    });
}else {
    alert("Geolocation API is not supported in your browser.");
}
</script>
<style type="text/css">
#mapContainer {
height: 500px;
width: 800px;
border:10px solid #eaeaea;
}
</style>
</head>
<body>
<div id="mapContainer"></div>
</body>
</html>
0 голосов
/ 11 июля 2012

Использование Google GeoCode API (https://developers.google.com/maps/documentation/geocoding), Вы можете сделать что-то вроде этого:

function initialize() {
   geocoder = new google.maps.Geocoder();
   var myOptions = {
                        zoom: 10,
                        center: new google.maps.LatLng(google.loader.ClientLocation.latitude, google.loader.ClientLocation.longitude),
                        mapTypeId: 'terrain'
                   }
                   map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...