Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从谷歌地图地理编码返回地址类型?_Javascript_Google Maps_Geocoding - Fatal编程技术网

Javascript 如何从谷歌地图地理编码返回地址类型?

Javascript 如何从谷歌地图地理编码返回地址类型?,javascript,google-maps,geocoding,Javascript,Google Maps,Geocoding,我目前正在使用谷歌地图api对地图上的位置进行地理编码,并返回街道地址 我当前返回的地址包含以下代码: function codeLatLng(markerPos) { geocoder.geocode({'latLng': markerPos}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) {

我目前正在使用谷歌地图api对地图上的位置进行地理编码,并返回街道地址

我当前返回的地址包含以下代码:

        function codeLatLng(markerPos) {
            geocoder.geocode({'latLng': markerPos}, function(results, status) {
              if (status == google.maps.GeocoderStatus.OK) {
                if (results[1]) {
                //Set markerAddress variable
                var markerAddress = results[0].formatted_address;
alert(markerAddress);
...
但是,如果我不想返回格式化的地址,而是使用地址组件类型返回更详细的版本,如何返回某些地址值,如:


感谢帮助。

long\u name
是地理编码器返回的地址组件的全文描述或名称

 function codeLatLng(markerPos) {
                geocoder.geocode({'latLng': markerPos}, function(results, status) {
                  if (status == google.maps.GeocoderStatus.OK) {
                    if (results[1]) {
                    //Set markerAddress variable
                    var markerAddress = results[0].long_name;
    alert(markerAddress);
...

请问,您为什么要检查
结果[1]
,然后使用
结果[0]
(或者这只是一个我应该忽略的输入错误)

只要
状态
正常
,至少会有一个结果。 否则,
状态将是
零结果

无论如何,您可以使用以下内容:

function codeLatLng(markerPos) {
  geocoder.geocode({'latLng': markerPos}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      var markerAddress = results[0].address_components[0].long_name
          + ' (type: ' + results[0].address_components[0].types[0] + ')';
      alert(markerAddress);
您可以使用整个
address\u组件玩很多游戏
array,玩得开心!)


为了获得更多乐趣,请查看位于

hmm的谷歌地图API v3地理编码器工具的(源代码)。。。这提醒了“未定义”任何其他想法