3

ユーザーの方向を表示するために DirectionRenderer(gmap3) を使用しています。問題は、完全一致が見つからない場合でも一致が表示されることです。例: SomeFakePlace, myRealCity は、SomeFakePlace と一致しなくても myRealCity と一致します。

そのため、代わりに市の中心部からその場所への道順が表示されます。行き先固定(myLatLng)

null を返し、ルートが見つからない場合はルートを表示しないようにします。それを処理するためのまともなエラー表示があります。

  $("#map-canvas-single").gmap3({ 
          getroute:{
            options:{
                origin:$("#directions-from").val(),
                destination:myLatlng,
                travelMode: google.maps.DirectionsTravelMode.DRIVING
            },
            callback: function(results){
                console.log(results);
                   var point= results.routes[0].overview_path[0]
                    window.directionMarker = new google.maps.Marker({
                        position: new google.maps.LatLng(point.jb,point.kb),
                        title:$("#directions-from").val(),
                        //icon:"http://maps.google.com/mapfiles/ms/icons/<?php if($this->listing->type=="pg"):?>green<?php else: ?>purple<?php endif;?>-dot.png"

                    });
                    window.directionMarker.setMap($(this).gmap3("get"));

             if(!results)
                 noty({text:"Place not found!",type:"error"});
             else
             {
                 $(this).gmap3({
                     directionsrenderer:{
                       container: $("#directions-container"),
                          id:"directions",
                       options:{
                         directions:results,
                        suppressMarkers :true //<<Look here>>
                       } 
                     }
                   });

            }
          }
        }
      });

コードは正常に動作します。これは、gmaps ではなく、方向レンダラー サービスのせいだと思います。完全に一致させるには、何らかのパラメーターが必要であると確信しています

4

1 に答える 1

2

私は Google Maps API に慣れていませんが、送信元の住所でジオコード検索を行い、緯度、経度を見つけます。通常、信頼度の高い座標を取得するため、それを下回るとエラーをスローする最小しきい値を設定できます。

https://developers.google.com/maps/documentation/geocoding/

マップクエストもお忘れなく。

http://developer.mapquest.com/web/products/dev-services/geocoding-ws

于 2013-07-23T03:41:32.820 に答える