J'ai regardé les autres fois où cette question a été posée mais je ne peux pas dire du tout où je me trompe, voici mon code:
<html>
<head>
<title> Map </title>
<style>
html, body, #map-canvas {
margin: 0;
padding: 0;
height: 500px;
width: 800px;}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
var map;
function initialize()
{
var myLatlng1 = new google.maps.LatLng(53.65914, 0.072050);
var mapOptions =
{
zoom: 10,
center: myLatlng1,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
<?php
$sql = mysql_query("SELECT * FROM data ORDER BY ID DESC");
while($row =mysql_fetch_array($sql))
{
$desc = $row['DESCRIPTION'];
$location = $row['LOCATION'];
$counter += 1;
?>
var marker = new google.maps.Marker({
position: new google.maps.LatLng(<?php echo $location; ?>),
map: map,
title: '<?php echo $desc; ?>',
icon: '/image/cam.png'
});
navigator.geolocation.getCurrentPosition(showPosition);
}
var showPosition = function (position)
{
map.setCenter(new google.maps.LatLng(position.coords.latitude, position.coords.longitude), 16);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
À l'origine, il définit le centre sur myLatlng1, et le code situé en bas pour le définir sur l'emplacement actuel de l'utilisateur ne fait rien, aucune idée?
Merci d'avance.
Essayez d’utiliser le code ci-dessous pour obtenir l’emplacement actuel de l’utilisateur (G&EACUTE;OLOCALISATION):
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
initialLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
map.setCenter(initialLocation);
});
}
Pour montrer un exemple, j'ai supprimé votre code php. Vérifiez ceci JSFiddle
J'espère que tu as compris.
Fournir une carte utile, que l'utilisateur autorise ou non le navigateur "Autoriser la détection d'emplacement?" Invite (modifiez l'emplacement par défaut pour l'adapter):
<script>
function initMap() {
gMap = new google.maps.Map(document.getElementById('map'));
navigator.geolocation.getCurrentPosition(function(position) {
// Center on user's current location if geolocation Prompt allowed
var initialLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
gMap.setCenter(initialLocation);
gMap.setZoom(13);
}, function(positionError) {
// User denied geolocation Prompt - default to Chicago
gMap.setCenter(new google.maps.LatLng(39.8097343, -98.5556199));
gMap.setZoom(5);
});
}
</script>