0

可能的重复:
使用 PHP 和 google Maps Api 计算 2 个邮政编码之间的距离(英国)
Google Maps API:获取两个位置距离并在地图上绘图

我做了一个界面,用户可以在其中插入开始和结束地址,提交后我想获取两个地址的纬度和经度,然后计算它们之间的距离。到目前为止,我已经粘贴了下面的代码:

<html>
<head>
</head>
<body>
    <form method="post" action ="gMap.php?showDistance=1" >
        <table>
            <tr><td>Start:</td><td><input id="start" type="text"  name='start'/> </td></tr></br>
            <tr><td>Finish:</td><td><input id="finish" type="text" name='finish'/></td></tr></br>
            <tr><td></td><td><input type="submit" value="Calculate Distance" /></td></tr></br>
        </table>
    </form>
<!--  
<br/><br/>
<div id="map" style="width: 500px; height: 350px"></div>
<div id="results" style="width: 500px;"></div>
-->
</body>
</body> 
</html>
<?php
if(isset($_GET['showDistance'])) {

    if(!empty($_POST['start'])&& !empty($_POST['finish'])){
    $start='';
    $finish='';
    $start=$_POST['start'];
    $finish=$_POST['finish'];

    // I want to send start address via this url;
    $startUrl = 'http://maps.google.com/maps/api.............';
    $startData = @file_get_contents($startUrl);

    // I want to send finish address via this url;
    $finishUrl = 'http://maps.google.com/maps/api............';
    $finishData = @file_get_contents($finishUrl);

    $startResult = explode(",", $startData);
    $finishResult = explode(",", $finishData);

    echo "Information about start address:"."<br/>";
    echo $startResult[0]."<br/>"; // status code
    echo $startResult[1]."<br/>"; // accuracy
    echo $startResult[2]."<br/>"; // latitude
    echo $startResult[3]."<br/>";; // longitude

    echo "Information about finish address:"."<br/>";

    echo $finishResult[0]."<br/>"; // status code
    echo $finishResult[1]."<br/>"; // accuracy
    echo $finishResult[2]."<br/>"; // latitude
    echo $finishResult[3]."<br/>";; // longitude

    } else {
    echo "You forget to insert address";
    }
}  
?>

现在我面临的问题是我不知道如何使用 google map api url 从 google map 获取所需的信息。$startUrl 和 $finishUrl 是我关心的两个变量。顺便说一句,我还没有编写距离计算的代码,因为我还没有得到尊重的纬度和经度值。

4

0 回答 0