2012-01-19 4 views
2

Javascriptを使用して国の中心座標を取得したいと考えています。 Webアプリケーションで使用するために、この種のデータを提供するxmlファイルはありますか?基本的にOpenLayersの国名を使って地図にデータを配置しようとしています。Javascriptで国の中心座標

答えて

3

Google Maps APIを使用すると、これにはGeocoderクラスを使用できます。

var geocoder = new google.maps.Geocoder(); 
geocoder.geocode(
    { address : "Germany" }, 
    function(results) { 
     window.alert(results[0].geometry.bounds.getCenter()); 
    }); 

あなただけのインデックス0を得るよりもresults[]配列もう少し調べたいかもしれませんが、これは、あなたは正しい方向に始める必要があります。

+0

返信いただきありがとうございますが、私は本当にライセンス条項のためにGoogle APIを使用したくありません。あなたはGoogleマップ上にデータを表示する必要があります。それ以外の場合は使用できません。何か別の選択肢はありますか? – Anz

2

適切なGISデータセットをダウンロードし、必要な情報を生成している可能性があります。例:あなたは、各郡の重心を計算し、国名及びX/Yのテーブルを生成することができますQuantum GISのようなプログラムで

。 Koordinatesはまた、あなたが場所によって機能を照会し、必要に応じて、完全なジオメトリを引き出すことができますベクトルAPIを持っていることを

注:フルジオメトリをロードし、重心を計算することができます

OpenLayersを(例えばOpenLayers getCentroid Docs)、世界境界データセットのサイズと複雑さを考慮すると、パフォーマンスはあまり良くありません。

一緒

それらを置くあなたの最良のオプションは、おそらくこれです:あなたは国からの重心を持ってたら、(ジオメトリを取得せずに)KoordinatesベクトルAPIを使用して選択したポイントがある国を決定するためにレスポンスから、データファイルからセントロイドを名前で検索し、この場所にマップを中央に配置します。

関連する問題