【问题标题】:Google maps API function getlatlong谷歌地图 API 函数 getlatlong
【发布时间】:2017-03-26 06:42:55
【问题描述】:

我有这段代码,问题是 $address_array 只提取数组中的最后一个位置。

我应该如何解决它?

HMTL

<div id="map"></div>

JQUERY

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>  

PHP

<?php
function getlatlong($address){
        $url = 'http://maps.googleapis.com/maps/api/geocode/json?address=' . urlencode($address) . '&sensor=true';
        $json = @file_get_contents($url);
        $data = json_decode($json);
        if ($data->status == "OK")
             return $data;
        else
             return false;
}
$address_array = array('Germany', 'Poland', 'Italy');
foreach ($address_array as $address) {
     $data = getlatlong($address);
     $location = $data->results[0]->geometry->location;
}
?>

JS 创建地图

<script>
    function initMap() {
        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 3,
          center: {lat: -28.024, lng: 140.887}
        });
    }
</script>
<script defer src="https://maps.googleapis.com/maps/api/js?key=&callback=initMap"></script>

【问题讨论】:

  • 数据/位置在每次循环迭代中都会被覆盖

标签: javascript php arrays google-maps-api-3 geocode


【解决方案1】:

已修复

这段代码写了一个人,效果很好。

代码返回纬度位置。

$address_array = array("Germany", "Poland", "Italy","Italy","Italy");
    $encoded_adress_array = [];

    foreach ($address_array as $address) {
        array_push($encoded_adress_array, getlatlong($address)->results[0]->geometry->location);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    • 2013-08-05
    相关资源
    最近更新 更多