我需要弄清楚某个地点是否被视为城市或乡村.我认为最好的方法是查看城市/州或省/国家组合的人口密度.
踢球者是我们将其用于数据挖掘.通常,可以执行此操作的映射API要求每个请求必须响应单个用户操作.这不符合标准......使用Web服务,我们将为任何单个用户操作进行数百次Web服务调用.所以我认为我们不能真正使用谷歌地图API这样的东西.
问题是,什么是可用的?是否有可以下载的数据库,我可以使用它来检索这些数据,或实际允许数据挖掘的Web服务?我使用PHP,虽然编程语言并不重要.我敢肯定,如果我能获得数据,我可以使用PHP.
我正在尝试解析来自Google Geocode API的json响应,但我在理解它时遇到了一些麻烦.
对于那些不熟悉Geocode API的人,请访问以下网址:http://maps.google.com/maps/api/geocode/json?address = alb%20square&_sensor = false
我正在使用以下代码来解析请求
<?php
$address = urlencode($_POST['address']);
$request = file_get_contents("http://maps.google.com/maps/api/geocode/json?address=" . $address . "&sensor=false");
$json = json_decode($request, true);
?>
Run Code Online (Sandbox Code Playgroud)
我正在尝试输出以下内容:
echo $json['results'][0]['formated_address'];
Run Code Online (Sandbox Code Playgroud)
我不确定为什么没有回应.我也试过了$json[0]['results'][0]['formated_address'].我知道这是一个noob问题,但是多维数组让我很困惑.
我有一个应用程序,它进行前向地理编码(获取给定地址的坐标)以显示一堆引脚MKMapView.该应用程序是在iOS支持前向地理编码之前开发的CLGeocoder(首先在iOS 5中提供).因此,我的应用程序使用Google Maps Geocoding API,这通常非常准确.给定一个带有街道号码的完整地址,它通常会在几米内为您提供该地址的确切位置.
我正在对我的应用程序进行一些更新以支持iOS 6,并决定从使用Google API切换到使用,CLGeocoder只要该应用程序在iOS 5或更高版本上运行.然而,在我的测试中(所有地址都在葡萄牙,我居住的地方),它是如此不准确,以至于完全无法使用.
我使用的– geocodeAddressString:completionHandler:,例如,给出的地址"自由大道195,里斯本,葡萄牙"它给了我一个"自由大道"在城市辛特拉,不葡京(里斯本)的.距离真实地址约15公里.Avenida da Liberdade是里斯本最大和最着名的大道之一.相当于纽约市的第五大道.这不是一些不起眼的小街道.
有没有什么我做错了得到如此可怕的准确性?其他人是否有类似的准确性问题,特别是在美国以外的地址?
目前看来我必须坚持使用Google Maps API.顺便说一句,我一直在使用iOS 6模拟器,结果并没有更好.将相同的搜索字符串放入iOS 6地图应用程序的搜索框中会产生完全不准确的结果.
编辑:添加CLGeocoder代码:
CLGeocoder *fgeo = [[[CLGeocoder alloc] init] autorelease];
NSLog(@"Geocoding for Address: %@\n", address);
[fgeo geocodeAddressString:address completionHandler:^(NSArray *placemarks, NSError *error) {
if (!error) {
// do stuff with the placemarks
for (CLPlacemark *placemark in placemarks) {
NSLog(@"%@\n %.2f,%.2f",[placemark description], placemark.location.horizontalAccuracy, placemark.location.verticalAccuracy);
}
} else {
NSLog(@"Geocoding error: %@", [error …Run Code Online (Sandbox Code Playgroud) 根据各种 参考资料,Google Maps有一个查询参数sll,其中包含以下内容:
应从中执行业务搜索的纬度,经度.您可以使用它来执行偏离中心的总线性搜索.谷歌使用它,因此"链接到此页面"可以记录在执行商业搜索后已移动中心的地图.请求路线时,会
map.getBounds().getSouthWest().toUrlValue()返回maps.google.com使用的相同值.
所以,例如,如果(43.464258, -80.52041)碰巧在安大略省的滑铁卢, (42.24370, -82.98320)恰好在安大略省的温莎(数百公里之外),那么我对上述文件的解释将是以下查询:
https://maps.google.ca/maps?saddr=43.464258,-80.52041&daddr=mcdonalds&sll=42.24370,-82.98320
Run Code Online (Sandbox Code Playgroud)
会做"麦当劳"的搜索从滑铁卢,到一些麦当劳在温莎.
不幸的是,这不是发生的事情(点击自己看!).它结束了做从一个搜索saddr点,到最近的麦当劳到这一点.价值sll根本没有考虑到它.
但是这里变得奇怪!如果我忽略的sll参数完全,那么地图做了完全出乎意料:它选择在多伦多的一些随机麦当劳(一个城市,是无论从滑铁卢多公里外或温莎).我需要添加一些sll参数(对于任何值)以使地图在滑铁卢中返回结果(即使我要求的是温莎的结果).
我是否误解了有关此参数的各种文档来源?这是地图上的错误吗?而且,最重要的是,是否有任何工作方式来做我正在尝试做的事情,即使它根本不涉及sll参数?
鉴于mapkit今天没有提供前向地理编码功能,任何人都可以提供帮助,告诉我今天如何使用搜索栏从用户输入的地址返回纬度和经度坐标.如果有人可以提供非常棒的示例代码.
我正在使用Codeigniter PHP + jQuery的工作板,雇主进入他们的位置,我们使用Google Maps API绘制它.虽然这具有令人敬畏的可用性结果,但问题是当我们试图向求职者展示这些位置时,他们感到困惑并难以在视觉上辨别(他们读起来像这样:"02905,2英里远","171 John St.,4几英里远","普罗维登斯,罗德岛,10英里远".
我希望能够将经度/纬度的地理定位反转到设定级别(理想情况下,城市名称),以便在搜索结果中我可以将这些位置列为如下所示:"Providence,RI,10英里远","普罗维登斯,罗德岛,5英里远","克兰斯顿,罗德岛,16英里远".
有没有办法扭转地理编码到城市?我看到很多关于将地理编码反转到最近的可寻址位置的示例,但无法控制关卡.
希望很清楚!如果您需要澄清任何问题,请随时发表评论.
早期我发布了一个关于使用ggplot在地图上绘制县名的问题以及在此处找到的地图.我的第一种方法是采用每个县的所有纬度和长坐标的方法,如下所示:

值得庆幸的是,Andrie提出了两个建议,即使用范围中心改善居中,然后是coord_map(){这似乎可以保持宽高比正确}.这在很大程度上改善了中心位置,如下所示:

我认为这看起来更好,但在重叠问题上仍然存在一些困难.我希望进一步提高中心性(在同一个线程中Justin提出了一个kmeans方法).如果有必要,我可以旋转文本,但我希望在必要时将它们居中并旋转(它们超出县界),以便在地图上最好地显示县名.
有任何想法吗?
library(ggplot2); library(maps)
county_df <- map_data('county') #mappings of counties by state
ny <- subset(county_df, region=="new york") #subset just for NYS
ny$county <- ny$subregion
p <- ggplot(ny, aes(long, lat, group=group)) + geom_polygon(colour='black', fill=NA)
#my first approach to centering
cnames <- aggregate(cbind(long, lat) ~ subregion, data=ny, FUN=mean)
ggplot(ny, aes(long, lat)) +
geom_polygon(aes(group=group), colour='black', fill=NA) +
geom_text(data=cnames, aes(long, lat, label = subregion), size=3)
#Andrie's much improved approach to centering
cnames <- aggregate(cbind(long, lat) ~ subregion, data=ny,
FUN=function(x)mean(range(x)))
ggplot(ny, …Run Code Online (Sandbox Code Playgroud) GeoCoder服务不可用
我正在用它GeoCoder来获得一个AddressLocation.不幸的是,该方法引发了一场IOException saying: "Service not Available".
这个StackOverFlow线程解释了发生了什么,因为我彻底测试了它(用户权限,构建版本,重启,GeoCoding API限制等).
你可以找到的Google Play-Services(或LocationService):Android设置 - >(管理)应用程序 - >运行进程,已崩溃或停止.它重新启动,但忘记将GeoCoderService绑定到NetworkLocator.
此错误的"解决方案"是重新启动Android手机,因为在重新启动时,GeoCoderService绑定到NetworkLocater.我当然不认为这是一个解决方案.
我的问题是,LocationService如何崩溃或首先停止?
我所做的是手动强制停止Google Play服务,一些设备重新启动了LocationService,但有些设备没有.
不工作(没有重启LocationService)
工作(确实重启了LocationService)
有人知道Google Play服务(LocationService)在运行一段时间后崩溃或停止的原因是什么?
我已将此问题上报给b.Android.com,并亲自联系了Android开发人员.
我已经看到我的问题已经在其他线程中讨论过,但没有得出任何结论:
android geocoding android-location google-geocoder google-play-services
我正在构建一个用户为其列表提供地址的应用程序.要求一个简单的用户为他提供的每个地址提供纬度和经度当然是不切实际的!
我可以向Google Maps API提供地址吗?如果是这样,怎么样?
谢谢.
如何使用Google Maps API向我显示没有侧边栏或搜索栏的全屏地图?我只是需要它来显示移动应用程序中的特定位置,用户不需要搜索.这可能吗?
另外,如果我提供街道地址,它怎么能在该位置放置一个推针?
geocoding ×10
google-maps ×5
geolocation ×3
android ×2
iphone ×2
php ×2
arrays ×1
data-mining ×1
database ×1
ggplot2 ×1
gis ×1
html ×1
ios ×1
ios5 ×1
javascript ×1
jquery ×1
json ×1
population ×1
r ×1