Google 地图地址组件地理编码与地点 API - 短名称与长名称

2024-06-21

嘿,GMaps API 开发人员。首先 - Google Maps/JS API v3 是多么令人难以置信的产品和服务 - 非常感谢!现在,带着那重要的真诚的感激之情......

The short_name vs long_name地址组件的选项是一个很好的功能,但是对于每个服务,这两个属性大多包含相同的值,除了地理编码具有我所期望的值short_name两个地方都有我所期望的long_name对彼此而言! *眼泪*

在 Places 库出现之前,我只是假设 Google 实际上没有街道名称、地点等的短/长版本 - 但现在看来你do在某处进行格式化 - 也许不同的产品团队有不同的数据库?

那么到底是怎么回事呢?

我正在谈论的内容的图片(会嵌入,但这是我的第一个 stackoverflow 问题,所以没有声誉):https://i.stack.imgur.com/3lJCg.png https://i.stack.imgur.com/3lJCg.png

我如何的详细列表wish这有效:

  • 对于路线、地理编码short_name地方'long_name
  • 地理编码和地点之间的局部性/次局部性具有相同的“类型”值(两者都可以,只需选择一个)
  • 始终为状态(administrative_area_level_1)提供短/长 - 地理编码可以正确执行此操作,但地点却不能
  • 国家/地区也是如此 - 地理编码在格式化地址中从哪里获取“美国”?
  • 如果postal_code long_name有 zip+4,但我想从数据的角度来看这将是一项巨大的努力

非常感谢 - 期待对此行为的任何见解!

图片背后的代码:

<!DOCTYPE html>
<html>
  <head>
  <meta charset="UTF-8">
  <title>GMaps API V3 Geocoder vs Places Address Components | Short vs Long Name</title>
  <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=true&libraries=places"></script>
  <style type="text/css">
    #map {height: 100px; width: 600px; border: 1px solid #333; margin-top: 0.6em; }
    table { border-collapse: collapse; border-spacing: 0; }
    table td {border-top: 1px solid #DDD; padding:4px 8px; }
  </style>
  <script type="text/javascript">
    var map, geocoder, places, geocode_components, geocode_formatted, places_components, places_formatted
    function initialize() {
      geocoder = new google.maps.Geocoder();
      geocoder.geocode({'address': '3 South Main Street, York New Salem, PA'},
      function (results, status) {
        geocode_components = results[0].address_components;
        geocode_formatted = results[0].formatted_address;
        map = new google.maps.Map(document.getElementById('map'), {
          mapTypeId: google.maps.MapTypeId.ROADMAP,
          center: results[0].geometry.location,
          zoom: 10
        });

        places = new google.maps.places.PlacesService(map);
        places.search({location: results[0].geometry.location, radius:100, keyword: "Pizza"},
          function(results, status) {
            //get details - this feels a little extraneous to me, but y'all know best
            places.getDetails({reference: results[0].reference},
            function(result, status) {
              places_components = result.address_components;
              places_formatted = result.formatted_address;
              writeResults();
            });
          });
      });
    }

    function writeResults() {
    tbody = document.getElementById('results');
    formatted = document.getElementById('formatted');
    var rows = "";
    for(var i=0; i<geocode_components.length; i++) {
      var c = geocode_components[i];
      rows = rows + '<tr><td>Geocoding</td><td>' + c.types[0] + '</td><td>' + c.short_name + '</td><td>' + c.long_name + '</td></tr>';
    }

    for(var i=0; i<places_components.length; i++) {
      var c = places_components[i];
      rows = rows + '<tr><td>Places</td><td>' + c.types[0] + '</td><td>' + c.short_name + '</td><td>' + c.long_name + '</td></tr>';
    }
    tbody.innerHTML = rows;
    formatted.innerHTML = '<br />Geocode Formatted: ' + geocode_formatted + '<br />' + 'Places Formatted: ' + places_formatted;
  }
  google.maps.event.addDomListener(window, 'load', initialize);
  </script>
  </head>
  <body>
  <div id="map"></div>
  <table>
    <thead><tr><th>Service</th><th>Type</th><th>Short Name</th><th>Long Name</th></tr></thead>
    <tbody id="results"></tbody>
  </table>
  <div id="formatted"></div>
</body>
</html>

正如评论中所述 - 这个问题(请求)早在 2013 年 1 月就已修复/实施,请参阅https://issuetracker.google.com/issues/35821543 https://issuetracker.google.com/issues/35821543

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google 地图地址组件地理编码与地点 API - 短名称与长名称 的相关文章

  • 如何使谷歌地图可拖动并保持标记在屏幕中央?

    我有一个按钮可以启用 禁用地图的可拖动选项 当用户拖动地图时 我需要将标记保留在地图的中心 var map function toggleMapDraggable if map get draggable map set draggable
  • 谷歌地图使用值 BESbswy 在内部创建隐藏的 div 和 span 并降低角度性能

    我在我的角度项目上使用谷歌地图 API v3 但是当我将地图添加到我的项目时 谷歌地图会创建一个隐藏的 div style height 1px width 1px span style font size 48px width 1 hei
  • 在 iPhone 应用程序中获取路线和路线导航

    我正在开发一款应用程序 该应用程序将重点关注在驾驶时为用户提供路线和逐段指示 他们在驾驶过程中留在应用程序中非常重要 因此我真的不想让他们离开应用程序并转到内置的地图应用程序 我最近对如何包含此功能进行了大量研究 众所周知 这并不容易 因为
  • API Google 地图 v3:更改 Zoom_changed 上标记的大小

    我需要有关 Google Maps API v3 的帮助 我有一张带有标记 图片 的地图 来自数据库的信息 此时的图片和地图都还可以 我想在更改缩放时调整标记的大小 但我的代码不起作用 图片消失 被默认图标取代 你能帮我看看出了什么问题吗
  • Google 地图 v3 中标准缩放控件的样式

    有没有一种简单的方法可以在 Google Maps JavaScript API v3 中设置缩放控件的样式 我想要的只是改变标准图像 http maps gstatic com intl en ALL mapfiles mapcontro
  • placeautocompletefragment 完整地址

    有没有办法使用 Google Places API 中的 placeautocompletefragment 来获取显示在搜索视图上的完整地址 它仅显示整个地址的第一部分 我确信一切都已正确实现 并且完整的地址由 place getAddr
  • 如何更改信息窗口背景颜色

    我面临的问题是 我的谷歌地图 API 显示默认信息窗口 背景颜色为白色 我想将白色更改为黑色 参考代码 google maps event addListener marker mouseover function infoWindow s
  • Google Maps API v3:在 Firefox 中未触发自定义标记的点击事件

    创建了一个地图 我试图使其具有类似于 我的地图 的功能 我的右侧有两个下拉列表 根据这些 ddl 中的选择 您可以添加自定义标记 图标 您选择标记类型 然后单击地图右上角的 按钮 然后单击要添加标记的位置 我的问题是 这在 IE Safar
  • 适用于 Android 的放置 API

    我正在尝试在我的应用程序中使用 Google Places API 为此 我需要生成服务器密钥 我使用我的设备 IP 地址来生成服务器密钥 我的应用程序仅在我的设备上运行 如果我使用其他设备 则会出现错误 error message Thi
  • 如何控制谷歌地图标记的不透明度

    我需要根据时间使一些标记半透明 有什么方法可以控制标记的 CSS 不透明度吗 或者是否可以可靠地找出标记的 DOM 元素 我使用 Google 地图 API v3 标记的不透明度可以设置为marker setOptions opacity
  • 谷歌地图 API V3。无法为 TRANSIT 方向创建自定义折线

    我无法在 Google API 上为公交路线创建自定义折线 仅渲染部分路线 而不是全部 它适用于驾驶 步行和骑自行车 但不适用于公共交通 不知道我到底错过了什么 如果有人遇到同样的问题 请帮忙 我在小提琴中做了一个例子 http jsfid
  • 转换 google.maps.Point 中的 (x, y) 像素坐标

    我试图根据我的 x y 像素坐标 当然还有地图选项 例如缩放和中心 找出 LatLng 为了做到这一点 我发布了另一个question https stackoverflow com questions 25219346 how to co
  • 地图 API v3:计算方位

    我已经为此苦苦挣扎了一段时间 需要一些建议 我看过一些类似的主题 但找不到适合我的答案 我正在使用谷歌地图 API 创建一个应用程序 它将确定您的位置 确定特定点 b 点 然后移动箭头以指向 b 点的方向 我在计算方位时遇到困难 有人可以提
  • 如何在react-google-maps中添加标记?

    在中使用 React JS流星1 5 https www meteor com Question 需要一种添加方式Marker using 反应谷歌地图 https github com tomchentw react google map
  • 存储与地点详细信息一起返回的照片参考

    我可以存储通过地点详细信息 API 返回的照片引用 最多返回 10 个 以便稍后可以直接使用它们通过地点照片 API 调用来获取照片吗 ToS 规定我们无法存储任何内容 正如你所说 ToS https cloud google com ma
  • 点击加载谷歌地图

    我想在单击链接后显示 Google 地图 我已经尝试过以下方法 当点击链接时 然后 Insert div与 id 链接后map 使用 jQuery 方法 getScript 加载 Google Maps API 添加谷歌地图到div带身份证
  • Google 地图 API 标记图标 URL?

    我正在尝试将标记图标更改为 红圈 或 红针 或其他任何内容 在这些代码中 markerOptions icon images beachflag png 标记不显示 但如果我做icon一行注释行 因此标记显示为 red pin icon 所
  • 在 Google 地图 V3 中使用图标字体作为标记

    我想知道是否可以使用图标字体图标 例如 Font Awesome 作为 Google 地图 V3 中的标记来替换默认标记 要在 HTML 或 PHP 文档中显示 插入它们 标记的代码为 i class icon map marker i 我
  • Google Places 在 extjs4 中自动完成

    我在服务器端使用 extjs4 和 Spring 我需要将 Google Places 自动完成功能集成到 extjs4 表单之一中 有什么办法可以做到这一点吗 我不确定我们是否可以将 Google 自动完成与 extjs 集成 我已经搜索
  • 谷歌地图API v3如何获取所有形状的坐标

    我有这个谷歌脚本 可以创建形状和删除形状 但没有太多关于保存形状的信息 我查了一下互联网 知道我可以通过 overlaycomplete 中的 getpaths 访问路径坐标 而且我还可以将坐标推入一个收集所有形状的数组中 但是 如果用户删

随机推荐