这可能吗?
我有用户将在地图上显示他们居住的地方,如果这不是一个大城镇或城市,我想找到并将此信息与用户记录相关联.
知道怎么做吗?
是否可以在SDK 3.x上反转Geocode当前位置?我需要简单地获取当前位置的邮政编码.我见过的唯一例子是使用CoreLocation,我不认为它是在SDK 4之前引入的.
我正在使用OpenLayers + OpenStreetMaps开发在线地图应用程序.
我需要帮助在javascript(或php)中实现一个简单的反向地理编码功能,它接收纬度和经度并返回一个地址.
如果可能的话,我想与Nominatim合作.我不想使用Google,Bing或CloudMade或其他专有解决方案.
这个链接返回一个合理的响应,我使用simple_html_dom.php来分解结果,但这是一个丑陋的解决方案.
<?php
include('simple_html_dom.php');
$url = "http://nominatim.openstreetmap.org/reverse?format=xml&lat=-23.56320001&lon=-46.66140002&zoom=27&addressdetails=1";
$html = file_get_html($url);
foreach ($html->find('road') as $element ) {
echo $element;
}
?>
Run Code Online (Sandbox Code Playgroud)
任何更优雅的解决方案的建议?
注意:自2015年10月起,请求必须包含有效的电子邮件,以"提供足够的申请标识".
如果没有电子邮件,返回代码将不是xml或json格式,而是错误509"Bandwidth Exceeded",尝试使用html_dom库进行抓取.
$url = "http://nominatim.openstreetmap.org/reverse?email=myemail@myserver.com&format=xml&lat=-23.56320001&lon=-46.66140002&zoom=27&addressdetails=1";
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Google API v2检索我的位置地址.
这是我做的:
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = null;
String addressText = "";
try {
while (addresses==null){
addresses = geocoder.getFromLocation(userLocation.latitude,
userLocation.longitude, 1);
}
if (addresses != null && addresses.size() > 0) {
Address address = addresses.get(0);
addressText = String.format(
"%s, %s, %s",
address.getMaxAddressLineIndex() > 0 ? address
.getAddressLine(0) : "", address
.getLocality(), address.getCountryName());
}
} catch (IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
我已阅读了几篇帖子,发现getFromLocation()请求并不总是检索结果.所以我尝试循环.
这不会崩溃但是addressText总是"",任何想法为什么?INTERNET权限已经提供给我的应用程序.我不使用GPS.
userLocation不是null,所以这不是问题,我使用它来添加标记到地图,它工作正常.这似乎是地理编码器严格的问题.
我需要找到给定半径内的所有地址.我已经实现了以下功能.
Google Places API
这仅提供半径内的业务地址.它接受radius作为参数. https://maps.googleapis.com/maps/api/place/textsearch/json?key=myAPIKey&location=6.914701,79.973085&radius=100&sensor=false&hl=en&query=*
谷歌反向地理编码
它只是将给定的lat和lng转换为地址.这实际上并不符合我的要求.并且它不接受radius作为参数. http://maps.googleapis.com/maps/api/geocode/json?latlng=6.914701,79.973085&sensor=false
有没有办法让所有地址都在给定的半径范围内.特别居住的地址.
我们收集了大量数据,并且正在尝试在我们的数据库上构建一个系统,该系统可以将纬度 - 经度信息转换为城市和国家.我们不想使用任何谷歌Api.我们想要设置我们自己的服务器来执行此操作.
我正在开发一个基于位置的应用程序,我需要在其中获取用户选择的任何地理点的附近位置名称.我正在使用Google Places API,这对我来说很好.
唯一的问题是null水中地理位置的服务返回.有什么方法可以检索水或海洋中的地理位置的附近位置?
location geolocation reverse-geocoding ios google-places-api
在将UILabel的文本设置为反向地理编码的地址时,Google Maps反向地理编码存在问题。UILabel在XIB中用作自定义信息窗口。我还有另一个自定义信息窗口,用于正常工作的其他数据,但是,当我尝试在反向地址解析回调/完成处理程序中设置标签的文本时,它不起作用。这是我到目前为止的代码,我已经尝试了多种方法,包括将其分配给变量,但是我什么都无法工作。
let infoWindow = NSBundle.mainBundle().loadNibNamed("InfoWindowCurrent", owner: self, options: nil)[0] as! InfoWindowCurrent
let geocoder = GMSGeocoder()
let coordinate = CLLocationCoordinate2DMake(Double(self.locLatitude)!, Double(self.locLongitude)!)
var currentAddress = String()
geocoder.reverseGeocodeCoordinate(coordinate) { response , error in
if let address = response?.firstResult() {
let lines = address.lines! as [String]
currentAddress = lines.joinWithSeparator("\n")
}
}
infoWindow.labelAddressStreet.text = currentAddress
return infoWindow
Run Code Online (Sandbox Code Playgroud)
我也尝试过这个:
let infoWindow = NSBundle.mainBundle().loadNibNamed("InfoWindowCurrent", owner: self, options: nil)[0] as! InfoWindowCurrent
let geocoder = GMSGeocoder()
let coordinate = CLLocationCoordinate2DMake(Double(self.locLatitude)!, Double(self.locLongitude)!)
geocoder.reverseGeocodeCoordinate(coordinate) { response , error in
if …Run Code Online (Sandbox Code Playgroud) 我试图通过JavaScript API使用谷歌地图反向地理编码(将地图上的位置转换为人类可读的地址),我想过滤结果以仅获取街道地址.
正如我在文档中看到的,result_type此请求有一个可选参数,但在指定它时,我收到以下错误:
InvalidValueError:未知属性result_type
我通过加载此脚本来包含API:https: //maps.googleapis.com/maps/api/js?key = MY_API_KEY
这是我用于反向地理编码的代码:
geocoder = new google.maps.Geocoder();
geocoder.geocode(
{
location: {lat: parseFloat(lat), lng: parseFloat(lng)},
result_type: 'street_address'
},
function(results, status) {
if (status === 'OK') {
console.log(results);
}
}
);
Run Code Online (Sandbox Code Playgroud)
一个小操场小提琴:https://jsfiddle.net/scebotari66/30nshzb6/.
但是,当我通过直接HTTP请求(https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&result_type=street_address&key=MY_API_KEY)尝试此操作时,一切都按预期工作.
这很奇怪.我觉得我错过了什么,但我不知道是什么.
我收集了很多点-我想确定每个点最近的城市。我该如何使用BigQuery?
google-maps ×5
geocoding ×2
ios ×2
android ×1
cocoa-touch ×1
geolocation ×1
gis ×1
javascript ×1
location ×1
map ×1
nominatim ×1
objective-c ×1
openlayers ×1
php ×1
sql ×1
swift ×1