google maps v3 setCenter for map

时间:2014-08-20 08:11:47

标签: javascript jquery

我不知道在哪里添加setCenter,因为我的地图目前居中于上面的LatLng,我把我的var setCenter代码放在下面,我的javascript很糟糕,所以我甚至不知道下面发生了什么,我只是将代码粘贴到那里,所以对于我来看看stackexchange上的其他例子将无法工作,如果有人知道我将把setCenter放在哪里将非常感激。

var directionDisplay;
var directionsService = new google.maps.DirectionsService();
function initialize() {
    var latlng = new google.maps.LatLng(-33.8333406,18.6470022);
    var setCenter = new google.maps.LatLng(37.4419, -122.1419);

    directionsDisplay = new google.maps.DirectionsRenderer();
    var myOptions = {
        zoom: 8,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        mapTypeControl: false
    };
    var map = new google.maps.Map(document.getElementById("map"),myOptions);

    directionsDisplay.setMap(map);
    directionsDisplay.setPanel(document.getElementById("directionsPanel"));
    var marker = new google.maps.Marker({
        position: latlng, 
        map: map, 
        title:"Get Directions"
    }); 
}
function calcRoute() {
    var start = document.getElementById("routeStart").value;
    var end = "-33.8333406,18.6470022";
    var request = {
        origin:start,
        destination:end,
        travelMode: google.maps.DirectionsTravelMode.DRIVING
    };
    directionsService.route(request, function(response, status) {
        if (status == google.maps.DirectionsStatus.OK) {
            directionsDisplay.setDirections(response);
        } else {
            if (status == 'ZERO_RESULTS') {
                alert('No route could be found between the origin and destination.');
            } else if (status == 'UNKNOWN_ERROR') {
                alert('A directions request could not be processed due to a server error. The request may succeed if you try again.');
            } else if (status == 'REQUEST_DENIED') {
                alert('This webpage is not allowed to use the directions service.');
            } else if (status == 'OVER_QUERY_LIMIT') {
                alert('The webpage has gone over the requests limit in too short a period of time.');
            } else if (status == 'NOT_FOUND') {
                alert('At least one of the origin, destination, or waypoints could not be geocoded.');
            } else if (status == 'INVALID_REQUEST') {
                alert('The DirectionsRequest provided was invalid.');                   
            } else {
                alert("There was an unknown error in your request. Requeststatus: \n\n"+status);
            }
        }
    });
}

1 个答案:

答案 0 :(得分:1)

这一行:

var latlng = new google.maps.LatLng(-33.8333406,18.6470022);

为您提供一个latlng对象,您稍后在地图选项中使用该对象来居中地图。

var myOptions = {
        zoom: 8,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        mapTypeControl: false
    };

如果要将setCenter latlng对象用作地图的中心,请在地图选项中更改它。

 var setCenter = new google.maps.LatLng(37.4419, -122.1419);

 var myOptions = {
            zoom: 8,
            center: setCenter, // setCenter latlng, defined above will be used to center tha map
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            mapTypeControl: false
        };