我正在使用 Google Maps API v.3 创建一个 google 地图,其方向与google 的这个示例非常相似。
主要区别在于,在页面加载时,谷歌地图画布设置为 100%,当用户请求方向时,地图减少到 70%(为方向面板腾出空间)
当用户获得方向时,方向显示为好像地图画布处于 100%,而不是 70%,基本上切断了部分方向。当显示方向响应时,我需要地图重新定向/重新定位。
你可以在这里演示:http: //j2designpartnership.com/directions/
当用户输入方向时,调用此函数: calcRoute()
function calcRoute() {
if (document.getElementById("start").value != "") {
activeSettings();
}
else{
defaultSettings();
}
var start = document.getElementById("start").value;
var end = document.getElementById("end").value;
var request = {
origin:start,
destination:end,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
//make the request for our directions
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
var recenter = new google.maps.LatLng(40.440625,-79.995886);
map.setCenter(recenter);
}
这里要注意的部分是顶部条件,如果输入字段中有文本,基本上会改变地图画布的宽度。
既然地图画布更小了,我该如何重新定位地图?