2012-04-20 7 views
0

私はモバイルアプリを開発しており、最も簡単な方法で地図をクリックした場所に最も近い道路にマーカーを表示しています。私は以下の解決策を考え出しました。ネット上のどこにでもリストされているのを見たことがなく、このようにして何か問題があるかどうかを見たいと思っていますか?Google Maps API V3、これはマーカーを道路にスナップするのに適したソリューションですか?

私は自分のコードを投稿しますが、いくつかのオブジェクト全体に散在しています。だからここにそれのジストです。

だから、基本的には... - (シンプル)あなたのクリックの緯度/経度の共同ordsを返しマップのクリックハンドラを確立

その後 `VARのDirectionsService =新しいgoogle.maps ..のようなもの.DirectionsService();

DirectionsService.route({ 
     'origin': clickLatLngPosition, 
     'destination': clickLatLngPosition, 
     'travelMode': google.maps.TravelMode.DRIVING 
    }, function(response, status){ 
     testLat = response.routes[0].legs[0].start_location.lat(); 
     testLng = response.routes[0].legs[0].start_location.lng(); 
     testPosition = new google.maps.LatLng(testLat, testLng); 
     slammedNavigator.snMapElement.gmap('addMarker', { 
      'position': testPosition 
     }); 
    });` 

これは、ユーザーのクリックに基づいてマーカーを道路にスナップするのに適したソリューションですか?はい、もしくは、いいえ?より良い方法がありますか?

+0

関連作るためのLatLngオブジェクトの個々の統計情報を使用しています。http:// stackoverflowのを.com/questions/4804495/google-maps-v3-nearest-streetに近づける道順は一般的に使用される方法です。 –

答えて

0

使用する場合は、自分でコードの3行を救うことができる:

position: response.routes[0].legs[0].start_location 

今、あなたは新しいのLatLngオブジェクト

関連する問題