早上好。將公里添加到地圖點
我想知道如何將公里添加到地圖點(緯度/經度)。
例如:Jaraguádo Sul城市在緯度-26.462049,經度-49.059448。我想增加100公里上下,並在兩側。我想做一個廣場,並獲得新的點。
我該怎麼做?
我試了一下:
<?php
$distance = 100;
$earthRadius = 6371;
$lat1 = -26.4853239150483;
$lon1 = -49.075927734375;
$bearing = 0;
$lat2 = asin(sin($lat1) * cos($distance/$earthRadius) + cos($lat1) * sin($distance/$earthRadius) * cos($bearing));
$lon2 = $lon1 + atan2(sin($bearing) * sin($distance/$earthRadius) * cos($lat1), cos($distance/$earthRadius) - sin($lat1) * sin($lat2));
echo 'LAT: ' . $lat2 . '<br >';
echo 'LNG: ' . $lon2;
?>
但它返回錯誤cordinates。謝謝!
非常感謝。
到目前爲止的2個答案是一般的方法。但是,如果精度不重要,並且如果感興趣的地理區域受到限制 - 特別是在狹窄的緯度範圍內 - 則可以對這些函數進行擬合。我無法提供「樂隊有多寬」和「多少不精確」的細節。 然後,如果地理範圍有限,則可以創建一個查找表:-) – Smandoli 2010-04-19 15:41:17
如果您更詳細地指定了您的應用,最終目標或工作工具,那麼您可能會獲得有關特定解決方案的新聞(例如, CoreLocation for iPhone) – Smandoli 2010-04-19 15:51:31
我正在創建一個PHP應用程序,並且在我的州(聖卡塔琳娜州)的每個城市都有一個數據庫表(城市)。在這張表中,我有緯度/經度字段。 用戶進入城市,我需要創建一個100km的虛構廣場來找到他附近的企業。 對不起,我的英語和缺乏信息的抱歉。 謝謝你們! – proveyourselfthom 2010-04-19 16:09:12