Làm thế nào tôi có thể tìm kiếm thành phố và nêu từ mã zip hoặc bưu điện trên toàn thế giới bằng cách sử dụng API hoặc dịch vụ web với PHP? Tôi đã thử Google Maps GE Coder API, hoạt động tốt cho chúng tôi và Canada nhưng không phải cho Vương quốc Anh và Mexico cho tất cả các quốc gia. Ngoài ra, tôi đã sử dụng API Yahoo cho việc này, hoạt động tốt hơn Google nhưng chống lại một số mã zip và mã bưu chính, nó trả về kết quả từ các quốc gia khác nhau.
Có ai biết tôi có thể sử dụng API hoặc cơ sở dữ liệu nào nếu tôi phải có được thành phố và tiểu bang/tỉnh chống lại chúng tôi, Vương quốc Anh, Canada và mã zip/bưu chính Mexico không?
Drew Gaynor
8.1065 huy hiệu vàng39 Huy hiệu bạc52 Huy hiệu đồng5 gold badges39 silver badges52 bronze badges
hỏi ngày 27 tháng 7 năm 2011 lúc 19:14Jul 27, 2011 at 19:14
2
$doc = new DOMDocument[];
$url = '//maps.googleapis.com/maps/api/geocode/xml?address='.$_GET['Zip'].'@&sensor=true';
$doc->load[$url];
$result = $doc->getElementsByTagName[ "address_component" ];
$i=0;
foreach[ $result as $address_component ]
{
$short_names = $address_component->getElementsByTagName[ "long_name" ];
$short_name = $short_names->item[0]->nodeValue;
if[$i==1]
{
echo $city=$short_name;
break;
}
$i++;
}
Đã trả lời ngày 11 tháng 4 năm 2013 lúc 12:02Apr 11, 2013 at 12:02
Đây là một dịch vụ web để làm điều đó
//www.mashape.com/vanitysoft/uk-boundaries-io
..Plimply nó cho phép có được Geojson cho googlemaps..query bằng cách kết hợp đơn lẻ hoặc kết hợp mã bưu chính của Vương quốc Anh [
Ví dụ, một quận "Manchester" của Vương quốc Anh .../Boundary/UK? Quận = Manchester sẽ giúp bạn có được Geojson dưới đây [tất cả các ranh giới khu vực trong quận này ...
Bạn có thể sử dụng cái này cho chúng tôi ZipCodes: //www.mashape.com/vanitysoft/boundaries-io
Đã trả lời ngày 22 tháng 8 năm 2015 lúc 22:38Aug 22, 2015 at 22:38
Jeryl Cookjeryl CookJeryl Cook
1.01117 Huy hiệu bạc37 Huy hiệu đồng17 silver badges37 bronze badges
Trong hướng dẫn này, chúng ta sẽ xem làm thế nào để có được một thành phố và tiểu bang bằng mã zip. Tôi đã tạo một ứng dụng đơn giản bằng cách sử dụng API mã hóa địa lý Google Maps. API này giúp chúng tôi có thể dễ dàng lấy một thành phố và trạng thái từ dữ liệu mã zip được nhập vào biểu mẫu. Đầu tiên chúng ta cần biết về mã hóa địa lý, đó là quá trình có được tọa độ địa lý [như vĩ độ và kinh độ] từ các địa chỉ.
Google Bản đồ API mã hóa địa lý
Đầu tiên, bạn cần có khóa API của riêng mình để sử dụng API Google Map. Bạn có thể có được chìa khóa của riêng bạn từ đây. Sau khi nhận được khóa của bạn, bạn sẽ chỉ cần thêm khóa trong mã gần của bạn.
var YOUR_KEY = 'XXXXXXXXXXX';
Dịch vụ API mã hóa địa lý được miễn phí tới 2.500 yêu cầu mỗi ngày, điều này sẽ ổn cho hầu hết và chi phí bổ sung qua rằng nếu bạn cần nó rất hợp lý. Bạn có thể kiểm tra một công cụ ước tính chi phí trên trang giá và kế hoạch của họ.
Mẫu đầu vào:
Tạo một biểu mẫu với ba lĩnh vực Zipcode, Bang và Thành phố.
Mã JQuery - Nhận Nhà nước và Thành phố
Mã JavaScript sau đây được sử dụng để lấy trạng thái và thành phố từ mã zip bằng mã hóa địa lý Google Map API. Trên khóa Zipcode từ biểu mẫu, giá trị từ mã zipced được chuyển đến bản đồ.googleapis.com cùng với your_key và nhận phản hồi và hiển thị JSON trong lĩnh vực thành phố và trạng thái.
var YOUR_KEY = 'XXXXXXXXXXX'; $.ajaxSetup[{ cache: false }]; var city = ""; var state = ""; $['#zip_code'].keyup[function[] { $zval = $['#zip_code'].val[]; if[$zval.length >= 5]{ $jCSval = getCityState[$zval, true]; } }]; function getCityState[$zip, $blnUSA] { var date = new Date[]; $.getJSON['//maps.googleapis.com/maps/api/geocode/json?address=' + $zip + '&key='+YOUR_KEY+'&type=json&_=' + date.getTime[], function[response]{ //Display JSON RESPONSE $['#json_response'].text[response.toSource[]]; //find the city and state var address_components = response.results[0].address_components; $.each[address_components, function[index, component]{ var types = component.types; $.each[types, function[index, type]{ if[type == 'locality'] { city = component.long_name; } if[type == 'administrative_area_level_1'] { state_shortname = component.short_name; state_longname = component.long_name; } }]; }]; $['#city'].val[city]; $['#state'].val[state_longname]; }]; }
Bằng cách đăng vào ngày 10 tháng 10 năm 2017
- " Bài báo trước