• ベストアンサー
  • すぐに回答を!

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

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

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数189
  • ありがとう数0

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

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

>ルートを表示することはできるのですが~ ルート検索と表示は、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

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

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

  • 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 よろしくお願い致します。

  • 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(); }

  • 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つずつマーカーを設定しています。 取得した座標の配列を上記の記述方法にどう組み込めばよいのかいまいちよくわからないです。

  • google maps api v3のルート検索

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

    • ベストアンサー
    • AJAX
  • Google Mapのマーカー非表示

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

  • Google Map ルート

    クリックすると現在から目的地までを表示するGoogleAPIの雛形などはありますでしょうか?

  • webサービス上のkmlをgooglemapsに表示させたい

    googlemapsとルート表示のwebapiをマッシュアップ したいと考えています。 GGeoXmlでルートをmaps上に表示したく、 以下のようなコードを作りましたが 地図自体も表示されなくなってしまいました。 それほど詳しくないので、 わかりやすく教えていただけると助かります。 apikeyの部分はサービスを提供していただいて いる身としての責任上mykeyと表示しておりますが ご理解いただければと思います。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Google Maps JavaScript API Example</title> <script src="http://maps.google.com/maps?file=api&v=2&key=mykey" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> //<![CDATA[ function onLoad() { var map = new GMap2(document.getElementById("map")); map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng(38.348, 140.839), 13); } var geoXml = new GGeoXml(http://api.cirius.co.jp/wrs/1.0.0/suuchi/lonlat/shortest_path.kml?start=140.839%2038.348&end=140.899%2038.355&sridIn=4301&api_key=mykey, function(){ map.addOverlay(geoXml); }); //]]> </script> </head> <body onload="onLoad()"> <div id="map" style="width: 500px; height: 350px;">&nbsp;</div> </body> </html> 以下はwebサービスのルート情報のkmlファイルです。 途中省略しております。 <html><head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head><body><kml xmlns="http://earth.google.com/kml/2.1"> <document> <name>WebRouting Service</name> <style id="LineStyle"> <LineStyle> <color>7f0000ff</color> <width>4</width> </LineStyle> </style> <placemark> <description>No+description+available</description> <name>Shortest Path</name> <styleurl>#LineStyle</styleurl> <multigeometry> <linestring> <coordinates> 140.851,38.348 140.852,38.347 </coordinates> </linestring> <linestring> <coordinates> 140.853,38.343 140.854,38.343 140.855,38.344 140.856,38.345 </coordinates> </linestring> <linestring> <coordinates> 140.858,38.343 140.860,38.343 </coordinates> </linestring> <linestring> <coordinates> 140.863,38.343 140.899,38.555 </coordinates> </linestring> </multigeometry> </placemark> </document> </kml></body></html> どなたか詳しい方、よろしくお願いします。

    • ベストアンサー
    • AJAX