J'ai une page PHP dans laquelle adresse de quelqu'un fecth de la table de base de données.match code postal ou l'adresse de la page php à google map
Comme:
Person name address zip MAP
MR. xyz city1 1234 click
MR. abc city2 1234 click
MR. dfe city3 1244 click
MR. rrr city4 1284 click
Si clique admin sur Cliquez sur le bouton de M. abc alors carte Google devrait être ouverte avec adresse ou zip de MR. abc et google lieu devrait être ouvert sur google map de MR. abc
Je n'ai aucune idée de comment faire cela? S'il vous plaît donner une suggestion.
Maintenant, je trouve un code:
<?php
include("connection.php");
function geocode($address){
// url encode the address
$address = urlencode($address);
// google map geocode api url
$url = "http://maps.google.com/maps/api/geocode/json?address={$address}";
// get the json response
$resp_json = file_get_contents($url);
// decode the json
$resp = json_decode($resp_json, true);
// response status will be 'OK', if able to geocode given address
if($resp['status']=='OK'){
// get the important data
$lati = $resp['results'][0]['geometry']['location']['lat'];
$longi = $resp['results'][0]['geometry']['location']['lng'];
$formatted_address = $resp['results'][0]['formatted_address'];
// verify if data is complete
if($lati && $longi && $formatted_address){
// put the data in the array
$data_arr = array();
array_push(
$data_arr,
$lati,
$longi,
$formatted_address
);
return $data_arr;
}else{
return false;
}
}else{
return false;
}
}
if($_REQUEST){
// get latitude, longitude and formatted address
$data_arr = geocode($_REQUEST['address']);
// if able to geocode the address
if($data_arr){
$latitude = $data_arr[0];
$longitude = $data_arr[1];
$formatted_address = $data_arr[2];
?>
<!-- google map will be shown here -->
<div id="gmap_canvas">Loading map...</div>
<div id='map-label'>Map shows approximate location.</div>
<!-- JavaScript to show google map -->
<script type="text/javascript" src="http://maps.google.com/maps/api/js"></script>
<script type="text/javascript">
function init_map() {
var myOptions = {
zoom: 14,
center: new google.maps.LatLng(<?php echo $latitude; ?>, <?php echo $longitude; ?>),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("gmap_canvas"), myOptions);
marker = new google.maps.Marker({
map: map,
position: new google.maps.LatLng(<?php echo $latitude; ?>, <?php echo $longitude; ?>)
});
infowindow = new google.maps.InfoWindow({
content: "<?php echo $formatted_address; ?>"
});
google.maps.event.addListener(marker, "click", function() {
infowindow.open(map, marker);
});
infowindow.open(map, marker);
}
google.maps.event.addDomListener(window, 'load', init_map);
</script>
<?php
// if unable to geocode the address
}else{
echo "No map found.";
}
}
?>
But it gave an ERROR: **Map shows approximate location.**
Est-ce bon code ou non?
Tout code existant que vous pouvez partager? Vous devez utiliser l'API de géocodage de Google pour déterminer un emplacement sur une carte, avec PHP et/ou JS. – JDev518
veuillez lire ce https://developers.google.com/maps/documentation/geocoding/intro –
Merci de répondre. Je n'ai pas de code parce que je ne sais pas comment le démarrer? – user3526766