2

緯度/経度に基づいて Openlayers を介して Openstreetmaps の地図を表示する簡単なコードがあります。

map = new OpenLayers.Map('#map');
var mapnik         = new OpenLayers.Layer.OSM();
var fromProjection = new OpenLayers.Projection("EPSG:4326");   // Transform from WGS 1984
var toProjection   = new OpenLayers.Projection("EPSG:900913"); // to Spherical Mercator Projection
var position = new OpenLayers.LonLat(geo.lng,geo.lat).transform( fromProjection, toProjection);
var zoom = 14; 

map.addLayer(mapnik);
map.setCenter(position, zoom);

var markers = new OpenLayers.Layer.Markers( "Markers" );        
markers.addMarker(new OpenLayers.Marker(position));
map.addLayer(markers);

私が今やりたいことは、緯度/経度に基づくのではなく、おそらくOpenStreetMap nominatimを介して、住所だけで地図を表示することです。だから私は上記のコードと住所文字列、例えば「国、州、都市」を通り/-nrなしで持っています。地図をその都市に向けるにはどうすればよいですか?

4

2 に答える 2

2

国、都市、および形式のパラメーターを見てみましょう。

http://nominatim.openstreetmap.org/search.php?country=England&city=ロンドン&format=json

http://wiki.openstreetmap.org/wiki/Nominatim

于 2012-12-10T20:48:12.960 に答える
0

これにはGazetteerが必要です。これは基本的に、地名と場所の識別子で満たされた辞書です。この目的または他のGeoCoderにGeoNamesを使用する方法はいくつかあります。OpenRouteServiceを使用したOpenlayersとOSMの例を次に示します: http//openlayers.org/dev/examples/openls.html

于 2012-12-10T13:21:42.773 に答える