Je me demande si quelqu'un peut m'aider s'il vous plait.Géocode inversé sur Google Maps api v3
J'utilise le code ci-dessous pour tracer correctement des marqueurs récupérés d'une base de données MySQL sur une carte Google Map.
<script type="text/javascript">
//Sample code written by August Li
var icon = new google.maps.MarkerImage("images/location-marker-2.png")
new google.maps.Point(16, 32);
var center = null;
var map = null;
var bounds = new google.maps.LatLngBounds();
function addMarker(lat, lng, info) {
var pt = new google.maps.LatLng(lat, lng);
bounds.extend(pt);
var marker = new google.maps.Marker({
position: pt,
icon: icon,
map: map
});
}
function initMap() {
map = new google.maps.Map(document.getElementById("gmaps-canvas"), {
center: new google.maps.LatLng(0, 0),
zoom: 6,
scrollwheel: true,
draggable: true,
mapTypeId: google.maps.MapTypeId.SATELLITE
});
<?php
include("admin/link.php");
include("admin/opendb.php");
$query = mysql_query("SELECT * FROM `detectinglocations` WHERE `locationid` = '$lid'");
while ($row = mysql_fetch_array($query)){
$locationname=$row['locationname'];
$osgb36lat=$row['osgb36lat'];
$osgb36lon=$row['osgb36lon'];
echo ("addMarker($osgb36lat, $osgb36lon,'<b>$locationname</b><br/>');\n");
}
mysql_close($connect);
?>
center = bounds.getCenter();
map.fitBounds(bounds);
}
</script>
Ce que je suis en train d'essayer de faire est d'ajouter des fonctionnalités supplémentaires qui permet aux utilisateurs de cliquer également sur la carte pour tracer de nouveaux marqueurs, en substance utilisant le marqueur préexistant de la base de données comme point de travailler à partir , effectuant un reverse geocode
. Je fais des recherches depuis un certain nombre de jours maintenant et j'ai essayé d'implémenter une foule de tutoriels, mais je n'arrive pas à faire fonctionner les deux parties de la fonctionnalité.
Je ne sais que pour permettre un événement on-click
je dois intégrer quelque chose le long des lignes de:
google.maps.event.addListener(map, 'click', function(event) { marker.setPosition(event.latLng) geocode_lookup('latLng', event.latLng ); }); }
mais je dois admettre que je suis un peu incertain au sujet de ce que je dois intégrer. Je me demandais simplement si quelqu'un pourrait être en mesure de jeter un coup d'œil à cette question, et je serais très reconnaissant si quelqu'un pouvait me montrer où je me suis trompé.
Un grand merci et salutations
Je ne comprends pas clairement. Vous souhaitez obtenir une adresse pour chaque marqueur ajouté depuis la base de données? Ou lorsque la carte est cliquée? Quand un marqueur de base de données est cliqué? Tout ce qui précède? Après le géocodage inverse, où sont les adresses supposées aller? –
Salut @HeitorChang, merci d'avoir pris le temps de répondre à mon message, et je m'excuse de ne pas l'avoir bien précisé. Lorsque la carte se charge, il y aura déjà un marqueur sur la carte. Ceci est chargé à partir d'un lat et lng stockés dans la base de données MySQL. Ce que je dois maintenant essayer et faire est d'ajouter la fonctionnalité par laquelle l'utilisateur peut également cliquer sur la carte et effectuer un «géocodage inverse» sans affecter le marqueur pré-rempli. J'espère que cela le rend un peu plus clair. Cordialement – IRHM