• ベストアンサー

GoogleMapsでルート内の座標を認識したい

Google Maps API で目的地を設定しそれまでのルートを表示することはできるのですが、そのルート上に数メートル間隔で座標をマーカーなどで表示させたり、100m毎くらいに座標を認識したいのですが可能でしょうか? 可能であればAPIとどういったソースなのか教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

>ルートを表示することはできるのですが~ ルート検索と表示は、DirectionsServiceやDirectionsRendererを利用することで比較的簡単にできるようになっているかと思います。  http://okwave.jp/qa/q8159078.html 質問者様がどのようになさっているのか不明ですが、(↑)に類する方法でなさっているのではないかと想像します。 ご質問のように一定区間ごとにマーカーを表示したいのであれば、DirectionsServiceのレスポンスにあるルートの情報を順に辿ることで可能だと思われます。 試してはいませんが、各ステップ毎に、  distance: 当該区間の距離情報  start_location: 当該区間の始点座標{lat,lng}  end_location: 当該区間の終点座標{lat,lng} の情報が得られるようですので、距離を累計していって指定距離を超えたところで、その区間内を補間して座標を求めるといった感じでいかがでしょうか? 詳しいDirectionsServiceに関する情報は以下にあります。  https://developers.google.com/maps/documentation/directions/ 位置の算出は通常のjavascriptで、マーカー表示はmap apiを利用なさればよろしいかと。  https://developers.google.com/maps/documentation/javascript/reference#Marker

関連するQ&A

  • GoogleMapAPIv3でルート上の座標を取得

    http://okwave.jp/qa/q6978088.html 上記URLの過去の質問を見て疑問に思いましたので質問させていただきます。 上記URLでもありましたようにルート上の座標を取得しようとして var arr; var directionsService = new google.maps.DirectionsService(); directionsService.route(request, function(result, status) { if (status == google.maps.DirectionsStatus.OK) { // ヒットした結果を表示 directionsDisplay.setDirections(result); arr = result.routes[0].overview_path; // ルートの全行程を表す } }); alert(arr.length); と記述しました。 arr には経路検索のルート上の座標が含まれているのですがこれを 取り出すためにはどうすればよいでしょうか。取り出してgoogleMap上にマーカーとして 表示したいと思っています。 directionsService.route(){ } の外では alert(arr.length); と記述しても 「lengthの値を取得できません。オブジェクトがNullまたは未定義です。」 となりarrを取得できないようです。 また、仮に取得できるようになったとして取得した座標の配列を どうやって地図上にマーカーとして表示させればよいでしょうか。 今はマーカーを表示させるのに var markerOpts4 = {position: new google.maps.LatLng(36, 137),  map: mapObj} var marker4 = new google.maps.Marker(markerOpts4); というように1つずつマーカーを設定しています。 取得した座標の配列を上記の記述方法にどう組み込めばよいのかいまいちよくわからないです。

  • GoogleMapAPIv3でルート上の座標を取得

    Google maps api v3において、ルート検索をして経路上の座標を取得する方法を探しています。 「右折する」「国道2号線に入る」といった経路上の情報を文章として取る方法は分かったのですが、 座標として取りたいです。 できれば、まっすぐな道でも数100mごとに座標が取れると嬉しいです。 イメージとしては、 http://orchard.ddo.jp/GMAP_ROUTE/index.php なのですが、リンク先はAPIがv2っぽいので使えませんでした。 v3でもできないか調べてみたのですが、分からなかったため質問させて頂きました。 分かる方宜しくお願いします。

  • Google maps API V3 ルート検索

    Google maps API V3 のルート検索で、出発地と目的地のマーカー(アイコン)を独自のものにするには、どのように記述すればよろしいでしょうか? デフォルトの設定では、出発地が“A”、目的地が“B”となっています。 以下、テストサンプルです。 http://itohiki119.iinaa.net/bousai/test.html よろしくお願い致します。

  • GoogleMapsのマーカーが表示されません

    Google MapsのAPIについて質問させてください。 地図を表示させ、マーカーも出るようにと思い自分は以下のようにしました。 http://ideone.com/Kb2gWi しかし、地図は表示されるのですが、マーカーが表示されません。 どこをどのように変えればいいのでしょうか? アドバイス頂けましたらと思います。 宜しくお願い致します。

  • Google Mapのマーカー非表示

    JavaScriptは初心者ですが、質問させてください。 Google Mapでルート表示をし、かつマーカー(おたまじゃくし)を非表示にしたいのですがGoogle Maps APIで可能でしょうか?またソースの例も教えていただけると嬉しいのですが。 よろしくお願いいたします。

  • google maps api v3のルート検索

    google maps api v3のルート検索でA,Bマーカーでなく、 オリジナルのマーカーにてドラッグ&ドロップマウスで移動可能なルート検索を javascriptで作るやり方が知りたいです。

    • ベストアンサー
    • AJAX
  • Google Maps API のマーカー表示について

    Google Maps API のマーカー表示について → http://www.smatch.jp/A030990066308854/map/ のような地図でマーカーが表示されていますが 、地図を移動させても新たにマーカーが表示されます。 これは、移動する毎に座標などをもとにマーカーの情報を読み込ませているのでしょうか? それとも、初回表示時に全て(全国)のマーカーの情報を読み込ませているのでしょうか? どちらの方法で実現できているのでしょうか?

    • ベストアンサー
    • AJAX
  • GoogleMapsAPIのルート案内について

    現在GoogleMapsAPIを利用し、ルート案内を実装しようとしています。 現在考えているのは、出発地と目的地を設定し、ルート案内を行う際に、地図にマーカーが設定されている場所を通らないようにしたいです。 出発地から目的地までのルート案内の実装は出来ました。 しかし、マーカーが配置されている場所を通らないような迂回ルートの部分に関してはどのように実装すればいいか分かりません。 何かアドバイスがあればよろしくお願いいたします。

  • GoogleMapで設定したルート上の曲角の座標

    GoogleMapで設定したルート上の曲がり角の座標を表示させたいです。 現在のソースは以下↓なのですがこれだと 目的地A、目的地Bの座標が出てしまうのですが、設定した目的地までの曲がり角全ての座標を出したいです。 よろしくお願いします。 計算しているソース //◆総距離合計 function computeTotalDistance(result) { var total = 0; var myroute = result.routes[0];     for (i = 0; i < myroute.legs.length; i++)     {     total += myroute.legs[i].distance.value;     }     total = total / 1000.     document.getElementById("disp_total").innerHTML = total + " km"; document.getElementById("X1").innerHTML = myroute.legs[0].start_location.lat();     document.getElementById("Y1").innerHTML = myroute.legs[0].start_location.lng();     document.getElementById("X2").innerHTML = myroute.legs[1].start_location.lat();     document.getElementById("Y2").innerHTML = myroute.legs[1].start_location.lng(); }

  • GoogleMap クリックで情報ウィンドウ

    GoogleMap API v3で、任意の一点をクリックするとマーカーが置かれ座標取得、 そしてそのマーカーに情報ウィンドウが出るようにしたいと思っています。 //地図クリックイベントの登録 google.maps.event.addListener(map, 'click', function(event) { if (Marker){Marker.setMap(null)}; Marker = new google.maps.Marker({ position: event.latLng, draggable: true, map: map }); infotable(Marker.getPosition().lat(), Marker.getPosition().lng(),map.getZoom()); で、マーカーの設置と座標取得はできるのですが、 new google.maps.InfoWindowをどこに置いていいのかが分かりません。 どなたかお詳しい方、ご教示願えないでしょうか。 宜しくお願い致します。

専門家に質問してみよう