2

これはページです: 私のサイトご覧 のとおり、地図はOKで、中央に配置され、必要に応じてズームされています。問題は、道順が表示されていないことです...

Googleマップコード:

var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
var myLatlng = new google.maps.LatLng(37.651429,22.267043);    
var myOptions = {
  zoom:9,
  center: new google.maps.LatLng(37.722392,22.769925),
  mapTypeId: google.maps.MapTypeId.ROADMAP,

}
map = new google.maps.Map(document.getElementById("map1"), myOptions);
directionsDisplay.setMap(map);
}
function calcRoute() {
var request = {
    origin:"athens, greece", 
    destination:myLatlng,
    travelMode: google.maps.DirectionsTravelMode.DRIVING,
};
directionsService.route(request, function(response, status) {
  if (status == google.maps.DirectionsStatus.OK) {
    directionsDisplay.setDirections(response);
  }
});
}

何かアドバイスはありますか?

4

1 に答える 1

2

少なくとも2つの問題があります。

  1. ルートを計算して表示するcalcRoute関数がありますが、それを呼び出すことはありません(解決策:おそらく初期化関数の最後に呼び出します)。
  2. myLatLng変数は初期化ルーチンに対してローカルであるため、calcRouteがアクセスしようとしたときに使用できません(解決策:グローバルにする)。

     var directionDisplay;
     var directionsService = new google.maps.DirectionsService();
     var map;
     var myLatlng = new google.maps.LatLng(37.651429,22.267043);    
    
     function initialize() {
       directionsDisplay = new google.maps.DirectionsRenderer();
       var myOptions = {
         zoom:9,
         center: new google.maps.LatLng(37.722392,22.769925),
         mapTypeId: google.maps.MapTypeId.ROADMAP,
       }
       map = new google.maps.Map(document.getElementById("map1"), myOptions);
       directionsDisplay.setMap(map);
       calcRoute();
     }
    
     function calcRoute() {
       var request = {
         origin:"athens, greece", 
         destination:myLatlng,
         travelMode: google.maps.DirectionsTravelMode.DRIVING,
       };
       directionsService.route(request, function(response, status) {
         if (status == google.maps.DirectionsStatus.OK) {
           directionsDisplay.setDirections(response);
         }
       });
     }
    
于 2012-12-25T00:54:46.327 に答える