Xin chào formulla là gì để có được kinh độ và vĩ độ của bất kỳ địa chỉ nào, nếu tôi có street_name, State_name, City_name, Country_name và mã zip trong PHP? Cảm ơnLàm cách nào để có được kinh độ và vĩ độ của bất kỳ địa chỉ nào?
Trả lời
Bạn cần truy cập dịch vụ mã hóa địa lý (tức là từ Google), không có công thức đơn giản nào để chuyển địa chỉ sang tọa độ địa lý.
Bạn có thể sử dụng API Google Maps cho điều đó. Xem bài đăng trên blog dưới đây để biết thêm thông tin.
http://stuff.nekhbet.ro/2008/12/12/how-to-get-coordinates-for-a-given-address-using-php.html
Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. - [Từ đánh giá] (/ review/low-quality-posts/18603186) – Don
Không có forumula, như tên, thành phố đường phố là chủ yếu trao ngẫu nhiên. Địa chỉ cần được tra cứu trong cơ sở dữ liệu. Ngoài ra, bạn có thể tra cứu mã zip trong cơ sở dữ liệu cho khu vực mà mã zip cho.
Bạn không đề cập đến một quốc gia, vì vậy tôi sẽ giả sử bạn chỉ muốn có địa chỉ ở Hoa Kỳ. Có rất nhiều cơ sở dữ liệu bạn có thể sử dụng, một số miễn phí, một số không.
Bạn cũng có thể sử dụng API Google Maps để yêu cầu họ tra cứu địa chỉ trong cơ sở dữ liệu của họ cho bạn. Đó có lẽ là giải pháp dễ nhất, nhưng yêu cầu ứng dụng của bạn luôn có kết nối internet hoạt động.
Bạn nên có một cái nhìn tại các thư viện Geocoder PHP5 :)
Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần quan trọng của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. - [Từ đánh giá] (/ đánh giá/chất lượng thấp-bài viết/18603183) –
bạn có thể sử dụng mã dưới đây để nhận lat, dài bằng php. Dưới đây là hai loại để có được điều này
Loại-1
<?php
// Get lat and long by address
$address = $dlocation; // Google HQ
$prepAddr = str_replace(' ','+',$address);
$geocode=file_get_contents('https://maps.google.com/maps/api/geocode/json?address='.$prepAddr.'&sensor=false');
$output= json_decode($geocode);
$latitude = $output->results[0]->geometry->location->lat;
$longitude = $output->results[0]->geometry->location->lng;
?>
chỉnh sửa - yêu cầu Google Maps phải trên https
Loại-2
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(50.804400, -1.147250);
var mapOptions = {
zoom: 6,
center: latlng
}
map = new google.maps.Map(document.getElementById('map-canvas12'), mapOptions);
}
function codeAddress(address,tutorname,url,distance,prise,postcode) {
var address = address;
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
var infowindow = new google.maps.InfoWindow({
content: 'Tutor Name: '+tutorname+'<br>Price Guide: '+prise+'<br>Distance: '+distance+' Miles from you('+postcode+')<br> <a href="'+url+'" target="blank">View Tutor profile</a> '
});
infowindow.open(map,marker);
} /*else {
alert('Geocode was not successful for the following reason: ' + status);
}*/
});
}
google.maps.event.addDomListener(window, 'load', initialize);
window.onload = function(){
initialize();
// your code here
<?php foreach($addr as $add) {
?>
codeAddress('<?php echo $add['address']; ?>','<?php echo $add['tutorname']; ?>','<?php echo $add['url']; ?>','<?php echo $add['distance']; ?>','<?php echo $add['prise']; ?>','<?php echo substr($postcode1,0,4); ?>');
<?php } ?>
};
</script>
<div id="map-canvas12"></div>
Đó chính xác là những gì tôi đang tìm kiếm. Cảm ơn bạn! Tôi có thể hỏi gì không? Tôi chỉ cần chức năng này để tính toán nội bộ. Tài liệu API nói rõ ràng rằng API chỉ có thể được sử dụng kết hợp với dịch vụ Google Maps. Ví dụ mã của bạn có trong tình trạng này không? – CHaP
Mã loại 2 là có đánh dấu địa chỉ –
Ở loại 1, tôi nhận được "Bạn đã vượt quá hạn ngạch yêu cầu hàng ngày cho API này". như một thông báo lỗi sau một vài thử nghiệm ... bất kỳ giải pháp nào để không nhận được hạn ngạch yêu cầu hàng ngày? – Jeremy
PHP có một số chức năng được xây dựng tốt đẹp để nhận được địa lý lo cation. Có thể xem tại đây: http://php.net/manual/en/ref.geoip.php
Theo hướng dẫn sử dụng php, "Tiện ích mở rộng này yêu cầu thư viện GeoIP C phiên bản 1.4.0 trở lên phải được cài đặt. Bạn có thể lấy phiên bản mới nhất từ» http://www.maxmind.com/app/c và tự biên dịch. "
tôi đã đưa ra những điều sau đây mà mất tài khoản rác thông qua vào và đào tạo Quản lý thất bại ....
function get_lonlat( $addr ) {
try {
$coordinates = @file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?address=' . urlencode($addr) . '&sensor=true');
$e=json_decode($coordinates);
// call to google api failed so has ZERO_RESULTS -- i.e. rubbish address...
if (isset($e->status)) { if ($e->status == 'ZERO_RESULTS') {echo '1:'; $err_res=true; } else {echo '2:'; $err_res=false; } } else { echo '3:'; $err_res=false; }
// $coordinates is false if file_get_contents has failed so create a blank array with Longitude/Latitude.
if ($coordinates == false || $err_res == true ) {
$a = array('lat'=>0,'lng'=>0);
$coordinates = new stdClass();
foreach ( $a as $key => $value)
{
$coordinates->$key = $value;
}
} else {
// call to google ok so just return longitude/latitude.
$coordinates = $e;
$coordinates = $coordinates->results[0]->geometry->location;
}
return $coordinates;
}
catch (Exception $e) {
}
sau đó để có được những dây: nơi $ pc là mã bưu điện hoặc địa chỉ .... $ address = get_lonlat ($ pc); $ l1 = $ address-> lat; $ l2 = $ address-> lng;
<?php
$address = 'BTM 2nd Stage, Bengaluru, Karnataka 560076'; // Address
// Get JSON results from this request
$geo = file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?address='.urlencode($address).'&sensor=false');
$geo = json_decode($geo, true); // Convert the JSON to an array
if (isset($geo['status']) && ($geo['status'] == 'OK')) {
$latitude = $geo['results'][0]['geometry']['location']['lat']; // Latitude
$longitude = $geo['results'][0]['geometry']['location']['lng']; // Longitude
}?>
- 1. Nhận Kinh độ Vĩ độ từ một địa chỉ C#
- 2. Kiểm tra xem một địa chỉ có vĩ độ và kinh độ nằm trong một shapefile
- 3. Làm cách nào để chuyển đổi cặp vĩ độ/kinh độ thành loại địa lý PostGIS?
- 4. Làm cách nào để tính khoảng cách giữa hai điểm vĩ độ và kinh độ?
- 5. Cách tìm khoảng cách từ vĩ độ và kinh độ của hai địa điểm?
- 6. nhận vĩ độ & kinh độ theo địa chỉ được cung cấp cho tờ rơi
- 7. Vĩ độ và kinh độ có thể tìm mã zip?
- 8. Thiết lập bảng vĩ độ và kinh độ của MySQL
- 9. Lấy vĩ độ và kinh độ từ địa chỉ mà không cần sử dụng Google API
- 10. Loại dữ liệu nào cho vĩ độ và kinh độ?
- 11. có Múi giờ sử dụng vĩ độ và kinh độ?
- 12. Vĩ độ/Kinh độ và mét
- 13. Cách xác thực vĩ độ và kinh độ
- 14. Vĩ độ/Kinh độ Khoảng cách
- 15. Làm cách nào để ánh xạ vĩ độ/kinh độ sang bản đồ bị méo?
- 16. String để CLLocation vĩ độ và kinh độ
- 17. Làm cách nào để vẽ tọa độ vĩ độ/kinh độ trên màn hình?
- 18. MKMapView Vĩ độ và Kinh độ Tọa độ
- 19. Có thể thay đổi kinh độ và vĩ độ không?
- 20. KDTree cho kinh độ/vĩ độ
- 21. Hướng đông về kinh độ vĩ độ
- 22. Bản đồ Google có được vĩ độ và kinh độ có tên thành phố không?
- 23. Truy vấn trong kinh độ và vĩ độ trong MySQL
- 24. Cách lấy kinh độ và vĩ độ cho địa chỉ đường phố theo chương trình (và hợp pháp)
- 25. Truy vấn kinh độ vĩ độ PostgreSQL
- 26. tìm vĩ độ và kinh độ bằng khoảng cách
- 27. Phân tích vĩ độ và kinh độ với Ruby
- 28. Vĩ độ và Kinh độ dựa trên Mã Zip
- 29. Tìm các vĩ độ và kinh độ gần nhất
- 30. Làm thế nào để tôi có được tên vị trí hoặc thành phố sử dụng vĩ độ và kinh độ?
Hi Ajay - Tôi nghĩ rằng bạn có nghĩa là "kinh độ" – Paddyslacker
thể trùng lặp của [Làm thế nào để có được kinh độ và vĩ độ cho một địa chỉ đường phố lập trình (và hợp pháp)] (http: // stackoverflow.com/questions/158474/how-to-get-longitude-and-latitude-for-a-street-address-program -atic-and-l) – jball
Để làm rõ, không có công thức, nhưng các công ty cung cấp dịch vụ mã hóa địa lý. Xem "dupe" được liên kết ở trên. – jball