1

Google Maps API V3 を使用すると、理解できないエラーが発生します。最初の地図は問題なく表示されますが、道順を取得しようとすると、次の 2 つのエラーが表示されます。

エラー: プロパティ 'GUnload' の値が null または未定義であり、Function オブジェクトではありません

エラー: プロパティ 'setDirections' の値を取得できません: オブジェクトが null または未定義です

どこでも GUnload を使用していないため、なぜそのエラーが発生するのかわかりません。2 番目のエラーに関する限り、道順サービスに問題があるようです。

これが私のコードです:

var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
function initialize(address) {

  directionsDisplay = new google.maps.DirectionsRenderer();
  var geocoder = new google.maps.Geocoder();
  var latlng = new google.maps.LatLng(42.733963, -84.565501);
  var mapOptions = {
   center: latlng,
   zoom: 15,
   mapTypeId: google.maps.MapTypeId.ROADMAP
 };
 map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
 geocoder.geocode({ 'address': address }, function (results, status) {
   if (status == google.maps.GeocoderStatus.OK) {
     map.setCenter(results[0].geometry.location);
     var marker = new google.maps.Marker({
       map: map,
       position: results[0].geometry.location
     });
   } else {
     alert("Geocode was not successful for the following reason:  " + status);
   }
 });
 directionsDisplay.setMap(map);
}

function getDirections(start, end) {
 var request = {
  origin:start,
  destination:end,
  travelMode: google.maps.TravelMode.DRIVING
 };
 directionsService.route(request, function(result, status) {
  if (status == google.maps.DirectionsStatus.OK) {
    directionsDisplay.setDirections(result);
  } else {
    alert("Directions cannot be displayed for the following reason:  " + status);
  }
 });
}

私はJavaScriptにあまり精通していないので、そこで何らかのエラーが発生する可能性があります。私が得ることができる助けに感謝します。

4

1 に答える 1

0

GUnload は Google Maps API v2 のものです。未定義であるというエラーが表示される場合は、コード (またはアプリケーションに含めたコード) の一部がそれを使用しており、それを提供していない Google Maps API v3 を使用していることを意味します。 .

コンテキストを確認せずに setDirections の問題についてコメントすることはできませんが、API コードが読み込まれる前にそれを呼び出そうとしたことが原因である可能性が最も高いです。

于 2012-09-18T02:59:53.187 に答える