目前,我正在使用下面的url来获取给定地址的详细信息。
控制器中生成上述url的相应代码如下:
var query = [address.streetName, address.streetNumber, address.zipCode, address.city, 'Deutschland'].join(' ');
L.Control.Geocoder.jsonp('https://nominatim.openstreetmap.org/search/', {
q: query,
limit: 1,
format: 'json'
}, function (data) {
if (0 < data.length && ('way' === data[0].osm_type || 'house' === data[0].type)) {
//do something here
}
}, this, 'json_callback');
上面的查询将返回如下结果:
"place“display_name :12,Dolivostra e,Pallaswiesenviertel,Darmstadt,Regierungsbezirk,Hesse, 64293,德国”重要性: 0.111 lat:"49.8766854“许可证:”数据C OpenStreetMap贡献者,ODbL 1.0“ODbL 1.0:”ODbL 1.0:"8.6396259“osm_id :1791379113”osm_type:“place_id:"18711662”类型:"house“
我想要‘黑森’(这是在德国使用的名字),而不是‘黑森’。如何做到这一点?任何帮助都是很好的:)
发布于 2016-12-13 00:04:06
见Nominatim文档。它提到了参数accept-language
显示搜索结果的首选语言顺序,重写在"Accept- language“HTTP报头中指定的值。要么使用标准的rfc2616接受语言字符串,要么使用一个简单逗号分隔的语言代码列表。
它允许您根据RFC2616中描述的接受语言请求头指定语言列表。要喜欢德语第一和英语第二,只需添加&accept-language=de,en
到您的网址。
https://stackoverflow.com/questions/41111582
复制