2011-04-14 2 views
0

J'ai une section de dons sur mon site Web et je suis intéressé si la fonctionnalité suivante est possible: J'ai une partie des donateurs du site où je voudrais intégrer une carte Google qui a des broches placées dans tous les endroits où les dons sont venus - ces emplacements ne doivent pas être exactes (adresse IP fonctionnerait bien je pense). Je me demandais s'il était possible de créer une carte Google affichant des activités de dons en temps réel. S'il nécessite des données réelles (ville, état), il est possible que je rassemble ces informations, car le site est actuellement configuré de la manière suivante: un utilisateur sélectionne le montant qu'il souhaite donner, il clique sur le bouton paypal, il soumettre leur don via paypal, se réacheminer vers une page de remerciements qui demande un nom, une ville et un état (cette information est stockée via mySQL). Après que l'utilisateur fournisse ces données et les soumissions (sur la page de remerciements), elles sont redirigées vers la page des donateurs ... c'est ici que j'aimerais avoir une carte Google avec des épingles représentant toutes les personnes qui ont donné et ville d'où ils viennent. De plus, étant donné que les données sont chargées dans une base de données SQL, est-il possible de charger la carte avec toutes les broches basées sur ces données et de les mettre à jour avec de nouvelles données (en temps réel)? Enfin, j'utilise PHP - des conflits avec ça?géocodage des données ou éventuellement IP dans une carte google

Si quelqu'un peut offrir des pointeurs je serais tellement reconnaissant. Je suis un peu novice quand il s'agit de l'API Google, donc je ne suis pas sûr des capacités. J'ai aussi essayé de regarder leurs documents et forums, mais je n'ai rien trouvé d'extrêmement utile. Je vous suis reconnaissant pour votre temps, et je vous remercie pour toute aide!

Ivan

Répondre

1

La géolocalisation du navigateur de l'utilisateur peut être récupéré à l'aide de l'API W3C géolocalisation. C'est assez en profondeur, donc si vous n'êtes pas dans la lecture, j'ai inclus un code prototype avec lequel je jouais. Il devrait montrer un marqueur avec votre emplacement de navigateur actuel.

http://dev.w3.org/geo/api/spec-source.html

Vous pouvez stocker la longitude et la latitude des informations dans votre base de données et ensuite analyser et insérer les marqueurs dans Google maps avec javascript.

<html> 
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<style type="text/css"> 
    html { height: 100% } 
    body { height: 100%; margin: 0px; padding: 0px } 
    #map_canvas { height: 100% } 
</style> 
<script type="text/javascript" 
    src="http://maps.google.com/maps/api/js?sensor=true"> 
</script> 
<script type="text/javascript"> 
    function initialize(location) { 
    var latlng = new google.maps.LatLng(location.coords.latitude,location.coords.longitude); 
    var myOptions = { 
     zoom: 19, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var map = new google.maps.Map(document.getElementById("map_canvas"), 
     myOptions); 
var marker = new google.maps.Marker({ 
     position: latlng, 
     map: map, 
     title:"Hello World!" 
    }); 
    } 

</script> 
</head> 
<body onload="navigator.geolocation.getCurrentPosition(initialize);"> 
    <div id="map_canvas" style="width:100%; height:100%"></div> 
</body> 
</html> 
+0

Nous vous remercions pour ce code; Cependant, ce n'est pas exactement ce que je cherche, mais c'est un bon début. Je cherche un code qui ne place que les personnes qui ont fait un don sur une carte, pas nécessairement l'utilisateur qui accède à la page du donateur. Je crains que ce code ne place quelqu'un sur une carte, alors que j'essaie de montrer seulement ceux qui ont fait un don. Je suppose que ma question initiale est le problème ... pas votre réponse. Alors permettez-moi de reformuler: En supposant que j'ai une ville et une donnée d'état (via SQL), comment puis-je transmettre ces données à Google Maps pour qu'elles soient affichées sur mon site? Le Googlemap peut-il également être actualisé toutes les quelques secondes? Merci –

+0

Le code que j'ai fourni vous permettra de remplir un champ dans le formulaire lorsque l'utilisateur fait un don. Ce champ sera automatiquement rempli avec la longitude et la latitude de l'utilisateur, qui peuvent être stockées dans la base de données lorsque le formulaire est soumis. Vous pouvez utiliser la commande javascript setInterval() pour émettre une requête AJAX pour les nouveaux donneurs. http://www.w3schools.com/jsref/met_win_setinterval.asp Utilisez l'API Google Map Javascript pour ajouter de nouveaux repères aux nouveaux donateurs. (Ajouter une superposition) http://code.google.com/apis/maps/documentation/javascript/overlays.html#AddingOverlays – zer0bit