Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Openlayers进行命名_Openlayers_Openstreetmap_Street Address_Nominatim - Fatal编程技术网

使用Openlayers进行命名

使用Openlayers进行命名,openlayers,openstreetmap,street-address,nominatim,Openlayers,Openstreetmap,Street Address,Nominatim,我有一个简单的代码,可以根据纬度/经度通过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显示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);
我现在想做的是显示一张地图,它不是基于lat/lng,而是一个地址,可能通过OpenStreetMap命名。
因此,我有上面的代码和地址字符串,例如“国家、州、城市”,没有街道/-nr。我如何将地图指向该城市?

你需要一个地址字符串,它基本上是一个充满地名和位置标识符的字典。有几种方法可用于此目的或其他地理编码器。以下是Openlayers和OSM使用的示例:

您就快到了,请查看国家、城市和格式参数:


没有办法从这样的搜索中获取lat/lng:。。。如果有某种方法可以将响应作为json,那么可能包含lat/lng?