2012-03-30 18 views
12

ベルリンなどのGoogleマップで都市を検索した場合、ベルリンの市の境界線(内側にピンクの太い線が入った灰色の破線)が表示されます。GoogleマップAPI v3市の境界

Google Maps APIでも同じことができますか?

+2

現在、maps-APIではサポートされていませんが、twitter-APIは回避策を提供しています:[Googleマップ結果に検索エリアの概要を追加](http://stackoverflow.com/questions/9706484/add-search- area-outline-on-google-maps-result) –

答えて

0

私はそうだと思いますが、論理はおそらくかなり気違いかもしれません。 MapViewにビューを追加し、Mapviewのレイアウトパラメータを使用して、地理的な経度と緯度を指定することができます。

これは私の「核のアプローチ」の1つです。 MapViewオブジェクト自体が、mapviewオブジェクトの幅と高さをあなたに伝えることができると思います。一度画面に描画されると、マップビュー自体を測定できます。ここから、ピクセルを経度と緯度と経度に変換する機能があります。あなたはここから、あらゆる種類のデータを描画するためのビューに送ることができます。

マップ上にグラフィックの完全なアウトラインを得るようなことを行うには、おそらく低レベルに達してピクセル比較を行う必要があります。

もう1つの方法は、エリアの輪郭をトレースしてレンダリングする方法です。

1

私はあなたの場合はベルリンの市町村をエリアを定義するマップにアウトラインを入れたいと思います。

米国では無料でダウンロードできるすべての郡の経度と緯度を持つ国勢調査データがあります。私はドイツには何か類似しているかどうかはわかりませんが、Googleの検索で「長距離座標系ベルリン市の概要」は多くの結果を示しています。

あなたがそれらを見つけた後の座標とは何ですか - Google Maps APIでは、地理座標に基づいて地図上にポリゴンを配置できます。

ジオメトリライブラリの一部であるGoogle Encoded Polylinesを使用してポリゴンを保存し、特定の状態が表示されているときにそれらを再表示します。

var map = new google.maps.Map(document.getElementById("googlemap"), myOptions); 
var encodedpoints = "<encoded points string>"; 

var polyOptions = { 
    "strokeColor": '#000000', 
    "strokeOpacity": 1, 
    "strokeWeight": 1, 
    "fillColor": "#000000", 
    "fillOpacity": 0.5 
}; 
polyOptions.path = google.maps.geometry.encoding.decodePath(encodedpoints) 
var mypolygon = new google.maps.Polygon(polyOptions); 
mypolygon.setMap(map); 

この例では黒線の境界線と50%の不透明度黒塗りを有している地図上にポリゴンを配置します。必要に応じてオプションを変更することができます。

関連する問題