Hướng dẫn get city and state from zip code php - lấy thành phố và tiểu bang từ mã zip php

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

Làm thế nào tôi có thể nhận được vĩ độ và kinh độ từ mã zip trong PHP?

Hàm php getzipcode [$ địa chỉ] {// Nhận mã địa lý $ geocode = file_get_contents ["//maps.google.com/maps/api/geocode/json?address=$address"]; $ json = json_decode [$ geocode]; $ vĩ độ = $ json-> kết quả [0]-> hình học-> vị trí-> lat; $ kinh độ = $ json-> kết quả [0]-> hình học-> vị trí-> lng; // Nhận ZipCode $ Geocode = ...

Làm thế nào để bạn giải mã mã zip?

Số đầu tiên trong mã đại diện cho một khu vực địa lý nói chung của quốc gia, thì 0 0 ở phía đông, chuyển đến 9 9 ở phía tây.Hai số tiếp theo đại diện cho các khu vực khu vực và hai khu vực cuối cùng xác định các bưu điện cụ thể.

Mã zip có thể trải rộng trên nhiều thành phố không?

Khi xem xét các mã bưu chính trên khắp thế giới, có những trường hợp hai thành phố khác nhau được phục vụ bởi cùng một mã bưu chính.Ví dụ, mã ZIP 94608 ở California được sử dụng cho cả Emeryville và các bộ phận của Oakland.there are cases where two different cities are served by the same postal code. For example, the zip code 94608 in California is used for both Emeryville and parts of Oakland.

Google Maps có thể tìm kiếm mã zip không?

Mã zip này trên công cụ Google Maps sẽ hiển thị tất cả các ranh giới mã zip, ở Hoa Kỳ.Để xem mã zip cho một thành phố, địa chỉ, v.v., chỉ cần nhập thành phố hoặc địa chỉ vào hộp "Nơi tìm kiếm" ngay phía trên bản đồ.type the city or address in the "Search places" box just above the map.

Bài Viết Liên Quan

Chủ Đề