*यह बहुत आसान है जो आपको करने की ज़रूरत है बस उपयोगकर्ता से ज़िप कोड प्राप्त करें और इसके साथ आप Google एपीआई का उपयोग करके $देश और $ शहर प्राप्त कर सकते हैं।यहां मैं आपको एक उदाहरण देता हूं कैसे मैं डाक कोड यानी ज़िप कोड से देशांतर और अक्षांश प्राप्त कर रहा हूं।
$postcode=$_POST('postcode');
if($postcode)
{
$address = urlencode($postcode);
$url='http://maps.googleapis.com/maps/api/geocode/json?address='.$address.'&sensor=false';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);
curl_close($ch);
$source = $data;
$obj = json_decode($source);
$lat = $obj->results[0]->geometry->location->lat;
$long = $obj->results[0]->geometry->location->lng;
}
$longitude=$long;
$latitude=$lat;
आप अपने डेटाबेस में उपरोक्त दो चर $longitude और $latitude को सम्मिलित कर सकते हैं। यह उतना ही सरल है :) .निम्न लिंक पर जाएं https://developers.google.com/ मानचित्र/दस्तावेज़ीकरण/जियोकोडिंग/?csw=1
अब देश का नाम देशांतर और अक्षांश से प्राप्त करने के लिए रिवर्स जियोकोडिंग का उपयोग करें। अक्षांश पैरामीटर में अल्पविराम से अलग अक्षांश/देशांतर जोड़ी की आपूर्ति करें।
var geocoder;
var map;
var infowindow = new google.maps.InfoWindow();
var marker;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(40.730885,-73.997383);
var mapOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
}
function codeLatLng() {
var input = document.getElementById("latlng").value;
var latlngStr = input.split(",",2);
var lat = parseFloat(latlngStr[0]);
var lng = parseFloat(latlngStr[1]);
var latlng = new google.maps.LatLng(lat, lng);//here you will get your country and city name
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
map.setZoom(11);
marker = new google.maps.Marker({
position: latlng,
map: map
});
infowindow.setContent(results[1].formatted_address);
infowindow.open(map, marker);
}
} else {
alert("Geocoder failed due to: " + status);
}
});
}
रिवर्स जियोकोडिंग के बारे में यहां पढ़ें और अपनी जरूरत के अनुसार कोड को संशोधित करें https:// Developers.google.com/maps/documentation/javascript/geocoding#ReverseGeocoding
उपयोग करें:getLocations(latlng:GLatLng, कॉलबैक:फंक्शन)
यह विधि रिवर्स-जियोकोडिंग करती है, अक्षांश/देशांतर जोड़ी को मानव-पठनीय पते में परिवर्तित करती है। getLocations() Google जियोकोडिंग सेवा को एक अनुरोध भेजता है, उसे दिए गए अक्षांश के लिए पता वापस करने और दिए गए कॉलबैक में प्रतिक्रिया पास करने के लिए कहता है।
चूंकि इस पद्धति के लिए Google सर्वर पर कॉल की आवश्यकता होती है, प्रतिक्रिया को संभालने के लिए आपको कॉलबैक विधि भी पास करनी होगी। इस प्रतिक्रिया में एक स्थिति कोड होगा, और सफल होने पर, एक या अधिक स्थान-चिह्न ऑब्जेक्ट होंगे।
ध्यान दें कि यह विधि इसके बजाय एक पता योग्य स्ट्रिंग पास कर सकती है, जैसा कि ऊपर बताया गया है; उस स्थिति में, सेवा एक मानक जियोकोड करेगी। हालांकि, अगर पहले तर्क में GLatLng शामिल है, तो सेवा रिवर्स-जियोकोड करेगी।