标签: google-geocoder

Android地理编码器反向位置 - 获得城市的可靠方式?

到目前为止,我已经搜索了相当多的运气.

Android Geocoder返回android.location.Address对象.据我所知,这座城市应归还getLocality().在美国境内看起来效果很好,不在外面.

我正在编写一个国际应用程序,并努力寻找解决方案来找出地理位置的城市.

这里捷克共和国/布拉格的输出:

Address[addressLines=
[0:"Psohlavc? 1764/2",
1:"147 00 Prague-Prague 4",
2:"Czech Republic"],
feature=2,
admin=Hlavní m?sto Praha,
sub-admin=Prague,
locality=null,
thoroughfare=Psohlavc?,
postalCode=147 00,
countryCode=CZ,
countryName=Czech Republic,
hasLatitude=true,
latitude=50.0276543,
hasLongitude=true,
longitude=14.4183926,
phone=null,
url=null,
extras=null]
Run Code Online (Sandbox Code Playgroud)

locality是空的,城市在里面sub-admin!地址本身没问题,所以地理编码服务器似乎知道这个城市.

这里有一些随机的欧盟示例,但地点部分起作用:

Address[addressLines=[0:"Nad lesem 440/34",1:"147 00 Prague-Prague 4",2:"Czech Republic"],feature=34,admin=Hlavní m?sto Praha,sub-admin=Prague,locality=null,thoroughfare=Nad lesem,postalCode=147 00,countryCode=CZ,countryName=Czech Republic,hasLatitude=true,latitude=50.02424,hasLongitude=true,longitude=14.4117568,phone=null,url=null,extras=null]

Address[addressLines=[0:"Hauner Straße 4",1:"84431 Heldenstein",2:"Germany"],feature=4,admin=null,sub-admin=null,locality=Heldenstein,thoroughfare=Hauner Straße,postalCode=84431,countryCode=DE,countryName=Germany,hasLatitude=true,latitude=48.2540274,hasLongitude=true,longitude=12.3413535,phone=null,url=null,extras=null]

Address[addressLines=[0:"Igler Straße",1:"6020 Innsbruck",2:"Austria"],feature=Igler Straße,admin=Tyrol,sub-admin=Innsbruck,locality=Innsbruck,thoroughfare=Igler Straße,postalCode=6020,countryCode=AT,countryName=Austria,hasLatitude=true,latitude=47.2465698,hasLongitude=true,longitude=11.4054237,phone=null,url=null,extras=null]

Address[addressLines=[0:"Durnberg 24",1:"5724 Stuhlfelden",2:"Austria"],feature=24,admin=Salzburg,sub-admin=Zell am See District,locality=null,thoroughfare=Durnberg,postalCode=5724,countryCode=AT,countryName=Austria,hasLatitude=true,latitude=47.3233373,hasLongitude=true,longitude=12.4960482,phone=null,url=null,extras=null]

Address[addressLines=[0:"U Rohá?ových kasáren 14",1:"100 00 Prague 10",2:"Czech Republic"],feature=14,admin=Hlavní m?sto Praha,sub-admin=Prague,locality=Prague …
Run Code Online (Sandbox Code Playgroud)

android google-maps google-geocoder

8
推荐指数
1
解决办法
3193
查看次数

了解Google地理编码API结果

我使用谷歌的地理编码API来处理自由形式的地址数据,我试图使结果(感subpremise,administrative_area_level_2等等).此时我只对美国的地址感兴趣,并希望将结果格式化为街道地址,城市和州代码.状态代码似乎很简单(administrative_area_level_1),但其他代码更模糊.是城市locality还是sublocality两者甚至更多?街道地址本身似乎可以是其他字段的任意数量的组合.

理想情况下,我只想取消formatted_address,删除城市,州,邮政编码和国家/地区代码,并保留留下的"街道地址".是否有处理所有这些字段的指导或建议,至少在大多数情况下(常规地址,带有单元号的地址等)?

parsing field street-address google-geocoder

7
推荐指数
2
解决办法
4235
查看次数

自动填充Google Map V3地方无法自定义?

我将自动完成范围缩小到一个区域和仅覆盖澳大利亚的范围,但我仍然接受智利和中国以及所选区域以外的其他国家的自动完成.有没有人有一个很好的解决方案来解决这个问题?我也无法改变谷歌自动完成的样式,它是一个自我生成的Div与样式标签,克服了我的风格自动完成DIV?我开始使用Geocoder和Jquery自动完成来过滤结果,但它不能像谷歌自动完成一样好,结果不如谷歌地图自动完成?

我这样称为图书馆:

以下是创建自动完成的代码:

    var defaultBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(-47.5765257137462, 106.259765625),
    new google.maps.LatLng(-9.6, 179.359375));

    var options = {
      bounds: defaultBounds,
      types: ['geocode'],
      offset: 5
    };

    var input = document.getElementById('store-locator-header');

    var autocomplete = new google.maps.places.Autocomplete(input,options); 
Run Code Online (Sandbox Code Playgroud)

google-maps autocomplete google-geocoder

7
推荐指数
1
解决办法
2157
查看次数

自动查找适当的缩放以进行地理编码结果

我正在为我的位置服务应用程序使用Google地图和Google地理编码服务.我使用Google地理编码服务将地址转换为lat/lng位置.我的问题是如何为某个地址自动查找适当的缩放,例如maps.google.com.

例如,当我在maps.google.com(例如Cisitu Baru, Bandung)中搜索街道时,它将以较小的缩放显示街道.当我搜索某个区域(例如Bandung)时,它将显示更大的缩放.省的缩放比例(例如Jawa Barat/ West Java),等等.

我试过了两个

var geocoder = new google.maps.Geocoder();
geocoder.geocode( {
    'address': someAddress
}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
        console.dir(results);
        //cut
        map.panToBounds(results[0].geometry.bounds); //setting bound
        //cut
    }
});
Run Code Online (Sandbox Code Playgroud)

//cut
map.panToBounds(results[0].geometry.viewports); //setting bound
//cut
Run Code Online (Sandbox Code Playgroud)

(老实说,我仍然不知道什么之间的区别bounds,并viewport和他们有什么用途从code.google.com/apis/maps/documentation/javascript/geocoding.html)

但两者仍然没有以适当的缩放显示地图.

现在,我使用这样的小黑客

var tabZoom =  {
    street_address: 15,
    route: 15,
    sublocality: 14,
    locality: 13,
    country: 10
};
//cut
map.setCenter(results[0].geometry.location);
if (tabZoom[results[0].types[0]] != undefined){
    map.setZoom(tabZoom[results[0].types[0]]);
} else {
    map.zetZoom(10); …
Run Code Online (Sandbox Code Playgroud)

google-maps-api-3 google-geocoder

7
推荐指数
1
解决办法
6356
查看次数

适用于Java的Geocoder API

我正在尝试使用Geocoder API位于以下位置的for java:http://code.google.com/p/geocoder-java/

这些是我编写的代码行,当我将其作为GAE Web应用程序运行时,它可以很好地工作.

    final Geocoder geocoder = new Geocoder();
    GeocoderRequest geocoderRequest = new GeocoderRequestBuilder().setAddress(req.getParameter("location").toString()).setLanguage("en").getGeocoderRequest();
    GeocodeResponse geocoderResponse = geocoder.geocode(geocoderRequest);
    List<GeocoderResult> someList = geocoderResponse.getResults();
    GeocoderResult data = someList.get(0);
    GeocoderGeometry data_2 = data.getGeometry();
    BigDecimal Latitude = data_2.getLocation().getLat();
    BigDecimal Longitude = data_2.getLocation().getLng();
Run Code Online (Sandbox Code Playgroud)

它的作用是我提供一个文本,例如纽约,它找出该区域的经度和纬度.

但是,当我将相同的代码行放入GAE时,有时当我运行此代码时,我会在" GeocoderResult data = someList.get(0)" 处获得检查边界异常;

有时我没有得到错误,它正确显示网页上的坐标.所以我有点困惑,在网站上,它表明它支持GAE,或者geocoder谷歌提供的东西有什么问题本身有一些问题吗?

通常它在东部时间的下午或午夜不起作用.

java google-app-engine google-geocoder

7
推荐指数
1
解决办法
4406
查看次数

地理编码结果,而不在地图上显示它们

我正在开发一个让用户知道它的位置的应用程序.我正在使用这个例子

但我在这里也看到"Geocoding API可能只与Google地图一起使用;禁止在地图上显示地理编码结果".所以我不能在不在地图上显示结果的情况下使用Geocoder?

android google-maps google-geocoder

7
推荐指数
1
解决办法
1370
查看次数

如何动态改变脚本src?

我试图根据我在下拉字段中选择的内容动态更改区域。

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?region=DK"></script>
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?

javascript google-geocoder

7
推荐指数
2
解决办法
2万
查看次数

geocoder.getFromLocationName仅返回null

在过去的两天里,当IllegalArgumentException我试图从地址中获取坐标时,我在Android代码中收到错误,甚至反转,从经度和纬度获取地址时,我会忘记这一点.这是代码,但我看不到错误.它是一个标准的代码段,可以在Google搜索中轻松找到.

public GeoPoint determineLatLngFromAddress(Context appContext, String strAddress) {
    Geocoder geocoder = new Geocoder(appContext, Locale.getDefault());
    GeoPoint g = null; 
    try {
        System.out.println("str addres: " + strAddress);
        List<Address> addresses = geocoder.getFromLocationName(strAddress, 5);
        if (addresses.size() > 0) {
            g = new GeoPoint(
               (int) (addresses.get(0).getLatitude() * 1E6),
               (int) (addresses.get(0).getLongitude() * 1E6)
            );
        }
    } catch (Exception e) {
        throw new IllegalArgumentException("locationName == null");
    }
    return g;
 }
Run Code Online (Sandbox Code Playgroud)

这些是manifest.xml文件的权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
Run Code Online (Sandbox Code Playgroud)

我也确实声明了Google API密钥: …

android illegalargumentexception google-geocoder

6
推荐指数
2
解决办法
2万
查看次数

从字符串中提取地址 - 相当于iOS中的NSDataDetector

在iOS中有一个名为的类NSDataDetector,例如,让你传递一个文本,它将检测该文本是否包含邮政地址,日期,链接......

就我而言,我有兴趣为Android找到一个类似的工具,它可以检测文本中的地址.我一直在玩Geocoder,但它只有在你已经知道地址的情况下才有效.否则,它不会达到目的.

我正在寻找的一个例子可能是:

鉴于: This is just a sample text that contains a nice address: 123 W Main St, Imaginary City, IC, 12345 该工具只会返回123 W Main St, Imaginary City, IC, 12345

请记住,地址可能有不同的格式.

提前致谢!

java android street-address google-geocoder nsdatadetector

6
推荐指数
1
解决办法
773
查看次数

R 在 R 中展平不同长度的嵌套列表(Google 地理编码 API 输出)

我一直在使用 Google 的地理编码 API 对地址列表进行地理编码。它在嵌套列表中返回结果。列表中的元素可能会有所不同,有时会出现部分匹配,从而导致嵌套在最高级别的多个嵌套列表。到目前为止,我已将每个 GoogleResult 保存到单个数据框单元格中。

这是我的数据框的示例:

    df <- structure(list(address = structure(c(3L, 1L, 2L), .Label = c("115 Civic Parade, Altona VIC 3018", 
"Civic Parade, Altona VIC 3018", "EAST LA CLARKEFIELD 3430"), class = "factor"), 
    GoogleResult = list(list(list(access_points = list(), address_components = list(
        list(long_name = "Los Angeles", short_name = "Los Angeles", 
            types = list("locality", "political")), list(long_name = "Los Angeles County", 
            short_name = "Los Angeles County", types = list("administrative_area_level_2", 
                "political")), list(long_name = "California", 
            short_name = "CA", types = list("administrative_area_level_1", 
                "political")), list(long_name …
Run Code Online (Sandbox Code Playgroud)

geocoding r list nested-lists google-geocoder

6
推荐指数
1
解决办法
126
查看次数