地理编码器请求无响应 - 失败

时间:2014-11-19 03:55:10

标签: here-api

地理编码API是否可行,有时由于某种原因不起作用?

以下是我要求的详细信息:

http://geocoder.cit.api.here.com/6.2/geocode.xml?app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg&gen=4&country=Australia&state=Tas&district=Wynyard&postalcode=7321&street=86 Jackson  Street

以下是官方网站的试用版:

http://geocoder.cit.api.here.com/6.2/geocode.xml
      ?app_id=DemoAppId01082013GAL
      &app_code=AJKnXv84fjrb0KIHawS0Tg
      &gen=7
      &housenumber=425
      &street=W+Randolph
      &city=Chicago

我正在使用它的免费版本,我不知道为什么它有时会起作用而在其他时候却不行。 谢谢

2 个答案:

答案 0 :(得分:2)

当您进行结构化地址查询时,默认情况下,地址的所有部分都需要匹配。鉴于地址没有国际标准,HERE地理编码器可以将地址的一部分放在结构的另一部分中。

在您的情况下, Wynard 被识别为city,而不是district。现在您可能希望将此失败作为无效地址,但也可以使用FlexibleAdminValues

中的AdditionalData参数告诉Geocoder更宽松一点

请参阅用户指南here

  

<强> FlexibleAdminValues
  N(正整数<= 1)。自定义输入值的灵活性   对于LocationFilterType中定义的管理层次结构。价值是   位掩码定义可以交换哪些层次结构而不会影响   匹配级别:

     
      
  • 0:根本没有交换(默认)。确切的管理层次结构值是   预期作为输入
  •   
  • 1:城市和区域交换
  •   
     

请注意这一点   选项用于地址编码,至少需要街道级别   输入按设计工作。它不会返回预期的结果   输入只是一个命名的地方(例如城市或地区名称)。

所以如果您有街道地址,以下网址将适用于您: http://geocoder.cit.api.here.com/6.2/geocode.xml?app_id=APP_ID&app_code=APP_CODE&gen=7&AdditionalData=FlexibleAdminValues,1&country=Australia&state=tas&district=Wynyard&...etc

答案 1 :(得分:2)

另一种选择是不使用结构化输入参数,而是让HERE Geocoder对输入令牌进行识别和分类。 通过使用searchtext参数并提供所有数据作为输入值,Geocoder可以匹配并对令牌进行评分。 例如:http://geocoder.cit.api.here.com/6.2/geocode.xml?app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg&gen=7&searchtext=Australia%20Tas%20Wynyard%207321%2086%20Jackson%20Street