1

Google マップ API v3 を使用してルートを描画します。ただし、一部のパスでは、ルートがマップにプロットされていません。だから私はコールバック関数を書きます。しかし、それは機能しません。私のコードは

function putRoute(request,color,callback)
{
  var color   = color;
  var request = request;

  directionsService.route(request, function(response, status) {
    if (status == google.maps.DirectionsStatus.OK) {
      var polylineOptionsActual = {
        strokeColor  :color,
        strokeOpacity: 1.0,
        strokeWeight : 5,
      };

      var directionsRenderer = new google.maps.DirectionsRenderer;
      directionsRenderer.setMap(map);
      directionsRenderer.setOptions( { polylineOptions: polylineOptionsActual, suppressMarkers: true} );
      directionsRenderer.setDirections(response);
    }
  });

  if (typeof callback === "function") {
    callback(request,color);
  }
}

putRoute(request,color,function() {

});
4

4 に答える 4

0

コールバックを次のように定義していたときに、同じ問題が発生しました。

function callback() {
...
}

それから私はそれを次のように変更しました:

callback = function() {
...
}

そしてすべてがうまくいきました!それが役に立てば幸い ;)

于 2013-12-23T09:22:23.073 に答える
0

関数 putRoute の名前を変更してみてください

function putRoute(request,color){}
于 2013-10-14T12:50:25.637 に答える
0

この条件は当てはまらないと思います:

  if (typeof callback === "function") {

私はそれをに変更します

  if (typeof callback != "undefined") {

少なくとも、この最後のコードが機能していることはわかっています。

これを試すこともできます:

if (callback instanceof Function) {
// do stuff;
}
于 2013-10-14T12:58:09.840 に答える