13

私は、Google Maps Javascript API v3 を使用する JavaScript Web アプリケーションに取り組んでいます。マップでユーザーができることの 1 つは、通りに沿ってルートを描くことです。しかし、ユーザーがストリート ビューされた通りに沿ってルートを描画できるようにしたいのですが、少し問題が発生しています...

黄色のストリートビューの人物を地図オブジェクトの上にドラッグすると、すべての有効なストリートビューの通りが青色に点灯します。ただし、これらの通りが実際の地図と正しく一致しない場合や、地図上の通りがストリートビューされていない場合があります。私の質問は、黄色の男を引きずることなく、「有効なストリートビュー エリア」オーバーレイを地図上に表示するにはどうすればよいですか? どういうわけかアクティブ化できるレイヤーはありますか?

このレイヤーを常に表示して、ユーザーがルートを描画している通りがストリートビューされているかどうかを確認し、ルートがストリート ビュー グリッドに沿っていることを確認できるようにしたいと考えています。

ありがとう

4

2 に答える 2

11

StreetViewCoverageLayer() が v3 API に追加されたため、これが可能になりました。

https://developers.google.com/maps/documentation/javascript/reference#StreetViewCoverageLayer

var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var streetViewLayer = new google.maps.StreetViewCoverageLayer();
streetViewLayer.setMap(map);
于 2013-12-04T16:17:10.010 に答える
3

API v3 では、地図の上に青いオーバーレイを表示するレイヤーはありません。利用可能なレイヤーの完全なリストは次のとおりです: https://developers.google.com/maps/documentation/javascript/layers .

現在、API と公式マップ サイトの両方で、青い線は実際には透明な PNG タイル (256x256) であり、マップ上に表示されます。

それらが適切に位置合わせされない場合がある理由は、一部の国ではマップ メーカーが利用可能であり (共同地図編集)、人々が道路線を台無しにし、すべての Google サービスで同時に更新されないためです (道路の場合)。空き状況を表示 まったく更新されていないと思います)。

私が見ることができる唯一の回避策は、Google マップで使用されているタイル座標システム ( https://developers.google.com/maps/documentation/javascript/maptypes#TileCoordinates )に慣れることです。これは、青いオーバーレイにも使用されています。 、それを使用する新しいマップ タイプ/レイヤーを作成します。

タイル リンクの例: https://mts2.google.com/mapslt?lyrs=svv&x=75041&y=47444&z=17&w=256&h=256&hl=en&style=40,18 .

x と y はタイル座標で、z はズームです

これは少し複雑ですが、それを行う予定がある場合は、追加のリソースを提供できます。

ただし、注意してください: この回避策は、API 条件の対象外です。

于 2012-08-05T22:07:22.713 に答える