标签: google-geocoding-api

如何防止谷歌地理编码器返回其他国家/地区的结果

我正在使用谷歌地理编码器,只能返回德国的结果

这是我的功能的相关部分

    ...
    var geocoder = new google.maps.Geocoder();
    geocoder.geocode({"address":address,"region":"DE" }, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            if (results[0].geometry.location) {
                completeGeo(results[0],address);
            } else {
                completeGeo(null,address);
            }

     ...
Run Code Online (Sandbox Code Playgroud)

但如果我地理编码"cuvry"也发现在德国的街道

google返回例如"Cuvry,France",它位于region参数之外

如何阻止Google地理编码器返回不在某个国家/地区的结果?我的意思是返回,如果国家代码匹配则不检查回调.

javascript api google-maps google-maps-api-3 google-geocoding-api

5
推荐指数
2
解决办法
7525
查看次数

如何以编程方式检索多边形边界区域?

地理编码(或反向地理编码)结果通常具有每个address_component的边界框,但这些是非常粗略的框.

然而,谷歌似乎拥有许多地区的复杂多边形.看到这个谷歌地图查询"WC1N":

WC1N的"新"Google Maps查询

请注意,有一条非常漂亮的红色虚线标出了邮政编码.这也存在于其他领域.例如,对"Berkeley,CA,USA"的查询具有非常复杂的红色虚线.

那么,你如何以编程方式获得这些多边形?地理编码查询本身似乎没有这样做.对WC1N的此查询的响应只有以下框:

http://maps.googleapis.com/maps/api/geocode/json?&address=WC1N&sensor=true

与在边界框或多边形内部给出lat/lng的查询一样.

这些数据是否可以在其他地方获得?或者是否有计划通过谷歌API提供它?

google-geocoding-api

5
推荐指数
1
解决办法
753
查看次数

Google地理编码API会在响应中返回错误的语言

我的项目在乌克兰敖德萨请求地理编码API以获取坐标并更正完整地址.

我可以请求用俄语或乌克兰语添加language=ru(language=uk)参数来响应HTTP请求.从今天开始,无论我在请求中指定哪种语言,我都会在乌克兰语中获得街道名称.

例子.

请求俄语: https://maps.googleapis.com/maps/api/geocode/json?address=??????????, ??????, ???????&language=ru

答复的相关部分:

"results" : [
  {
     "address_components" : [
        {
           "long_name" : "?????????? ??????",
           "short_name" : "?????????? ??????",
           "types" : [ "route" ]
        },
        {
           "long_name" : "??????????? ?????",
           "short_name" : "??????????? ?????",
           "types" : [ "sublocality_level_1", "sublocality", "political" ]
        },
        {
           "long_name" : "?????",
           "short_name" : "?????",
           "types" : [ "locality", "political" ]
        },
        {
           "long_name" : "???????? ????????",
           "short_name" : "???????? ????????",
           "types" : [ "administrative_area_level_3", "political" ] …
Run Code Online (Sandbox Code Playgroud)

geolocation google-geocoder google-geocoding-api

5
推荐指数
1
解决办法
3256
查看次数

Angular Google映射地理编码回调

我有一些谷歌地图地理编码api的问题.

我正在使用Angular Google Maps并尝试使用回调函数对地址进行地理编码:

.controller('myCtrl', ['$scope', '$rootScope', 'uiGmapGoogleMapApi', function ($scope, $rootScope, uiGmapGoogleMapApi) {

    // To be set by previous step
    $rootScope.chosenTown = "Roma"

    // geocode the given address
    var geocodeAddress = function(address, callback) {
        var geocoder = new google.maps.Geocoder();
        geocoder.geocode( { 'address': address}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                callback(results[0].geometry.location);
            } else {
                console.log("Geocode was not successful for the following reason: " + status);
            }
        });
    };

    // google maps is ready
    uiGmapGoogleMapApi.then(function(maps) {
        // geocode chosen town …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps callback google-geocoding-api angularjs

5
推荐指数
1
解决办法
4096
查看次数

我怎样才能在道路上进一步推断?

鉴于移动设备在短时间内的实时位置数据,如何在这条道路上进一步获得一对/一对,比如2英里,甚至更好,5分钟的驾驶?

我看到我可以使用谷歌的Roads API来搭配一对长途对话https://developers.google.com/maps/documentation/roads/snap,但这只会让我分道扬..

这将是一个Android应用程序.

android google-geocoder google-geocoding-api google-roads-api android-gps

5
推荐指数
1
解决办法
716
查看次数

将我的Google Geocoding API密钥与Python地理编码器配合使用

我是Python的初学者,我一直致力于在Jupyter上使用Pandas和Geocoder对数据库进行地理编码.

由于df有点长(约3000行),我想使用Google的地理编码API.

我已经创建了一个免费密钥,但我不知道我应该用它做什么.救命?

顺便说一下,我的代码看起来像这样:

import geocoder
import pandas as pd

geo = geocoder

df=pd.read_excel('hsp2.xlsx')

df['Coordinates']=df['Address'].apply(geo.google).apply(lambda x: x.latlng if x != None else None)

df.to_csv('output.csv', sep='|', encoding='iso8859_15')
Run Code Online (Sandbox Code Playgroud)

python google-maps pandas google-geocoding-api

5
推荐指数
1
解决办法
5801
查看次数

对特定地址进行地理编码无法通过PHP进行操作,也可以通过使用相同URL的浏览器进行工作

我正在使用以下代码段通过Google Geolocation API对地址进行地理编码:

<?php
$address = "Frazione Levà - 16030 Sori (GE)";
$url = 'http://maps.google.com/maps/api/geocode/xml?address='.urlencode($address).'&sensor=false';
echo $url."\n";
$xml = file_get_contents($url);
var_dump($xml);
?>
Run Code Online (Sandbox Code Playgroud)

echo命令显示调用的URL为:

http://maps.google.com/maps/api/geocode/xml?address=Frazione+Lev%C3%A0+-+16030+Sori+%28GE%29&sensor=false
Run Code Online (Sandbox Code Playgroud)

并且var_dump命令显示结果为:

string(107) "<?xml version="1.0" encoding="UTF-8"?>
<GeocodeResponse>
 <status>ZERO_RESULTS</status>
</GeocodeResponse>
"
Run Code Online (Sandbox Code Playgroud)

因此,似乎无法对地址进行地理位置定位。

如果我使用我上面的完全相同的网址( http://maps.google.com/maps/api/geocode/xml?address=Frazione+Lev%C3%A0+-+16030+Sori+%28GE%29&sensor=false)浏览器,我得到一个完全不同的结果(地址已正确定位):

<?xml version="1.0" encoding="UTF-8"?>
 <GeocodeResponse>
  <status>OK</status>
...
Run Code Online (Sandbox Code Playgroud)

这怎么可能?我该如何解决?我需要从PHP定位地址。

请注意,我每天在循环中使用相同的代码段来对数百个地址进行地理位置定位,并且在大多数地址上都可以正常工作;仅在某些地址上,它会显示类似的问题。

php google-geocoding-api

4
推荐指数
1
解决办法
828
查看次数

从 R 中的嵌套列表中提取数据

我已经从 google_reverse_code API 下载了一个地址列表,但是对于包含纬度和经度信息的地点列表,因为我是 R 的新手。我不知道如何提取有用的信息。下载数据库的所有代码都在问题的底部。

列表的结构一般是这样的。

`$ 60  :List of 1
..$ results:'data.frame':   1 obs. of  5 variables:
.. ..$ address_components:List of 1
.. .. ..$ :'data.frame':    8 obs. of  3 variables:
.. .. .. ..$ long_name : chr [1:8] "119" "Avenida Diego Díaz de Berlanga" 
"Jardines de Anahuac 2do Sector" "San Nicolás de los Garza" ...
.. .. .. ..$ short_name: chr [1:8] "119" "Avenida Diego Díaz de Berlanga" 
"Jardines de Anahuac 2do Sector" "San Nicolás de los …
Run Code Online (Sandbox Code Playgroud)

r lapply google-geocoding-api googleway

4
推荐指数
1
解决办法
4775
查看次数

地理编码 API 有多少请求是免费的?

我想使用 Google Geocoding API 从纬度/经度获取地址。为此,我想知道,使用免费帐户可以完成多少次点击?

下面的链接显示了每 24 小时内 2,500 个免费请求。

Google 地理编码 API,免费吗?

请澄清我,无论是否存在 Google Geocoding API,它仍然是免费的。如果不是,那么该 API 有多少次免费点击?

google-maps google-api google-maps-api-3 google-geocoding-api

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

地理编码 API 和 DialogFlow 意图获取“错误:没有为平台定义响应:空”

我正在尝试在对话流的填充中使用来自 Google 的地理编码 API。

详细说明:我希望用户给我他的地址并找到经纬度。

我从官方 github 存储库的 README 中获取了这段代码:

 googleMapsClient.geocode({address: '1600 Amphitheatre Parkway, Mountain View, CA'})
  .asPromise()
  .then((response) => {
    console.log(response.json.results);
  })
  .catch((err) => {
    console.log(err);
  });
Run Code Online (Sandbox Code Playgroud)

并以这种方式在我的意图处理程序中使用它:

    function findAddress(agent){
    var intent = new Intent(agent);
    parametersCustom.address = agent.parameters.address+', '+agent.parameters["geo-city"];
    agent = intent.finalSetup();
    return googleMapsClient.geocode({address: parametersCustom.address}).asPromise()
    .then((response) => {
      console.log(response.json.results[0].geometry.location);
    })
    .catch((err) => {
      console.log(err);
    });
}
Run Code Online (Sandbox Code Playgroud)

但是当我在 DialogFlow 的内联编辑器上运行它时,我收到了这个错误:

Error: No responses defined for platform: null
    at V2Agent.sendResponses_ (/srv/node_modules/dialogflow-fulfillment/src/v2-agent.js:243:13)
    at WebhookClient.send_ (/srv/node_modules/dialogflow-fulfillment/src/dialogflow-fulfillment.js:505:17)
    at promise.then (/srv/node_modules/dialogflow-fulfillment/src/dialogflow-fulfillment.js:316:38)
    at <anonymous>
    at process._tickDomainCallback …
Run Code Online (Sandbox Code Playgroud)

javascript geocoding geolocation google-geocoding-api dialogflow-es

4
推荐指数
1
解决办法
234
查看次数