2015-10-25 5 views
1

Я пытаюсь создать простую страницу, показывающую положение пользователя относительно фиксированной позиции на карте. Я смог скопировать и изменить код для отслеживания положения пользователя, но я не уверен, как добавить маркер в фиксированную позицию (например, -38.100 +145.500) на той же карте. Любая помощь будет принята с благодарностью.Я хочу отслеживать свою позицию, а также отмечать фиксированную позицию на той же карте

До сих пор, у меня есть следующие ....

<!DOCTYPE html> 
<html> 
<head> 
    <style> 
     #map { width:100%; height:150px; } 
    </style> 
    <script src="http://maps.google.com/maps/api/js?sensor=false"></script> 
</head> 
<body> 
    <div id="map"></div> 
    <script> 
     var marker; 
     if (navigator.geolocation) { 
      var timeoutVal = 10 * 1000 * 1000; 
      navigator.geolocation.watchPosition(
       displayPosition, 
       displayError, 
       { enableHighAccuracy: true, timeout: timeoutVal, maximumAge: 0 } 
      ); 
     } 
     else { 
      alert("Geolocation is not supported by this browser"); 
     } 
     function displayPosition(position) {    
      var pos = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 
      var options = { 
       zoom: 18, 
       center: pos, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
      }; 
      var map = new google.maps.Map(document.getElementById("map"), options); 
      // Remove the current marker, if there is one 
      if (typeof(marker) != "undefined") marker.setMap(null); 
      marker = new google.maps.Marker({ 
       position: pos, 
       map: map, 
       icon: 'https://upload.wikimedia.org/wikipedia/commons/a/ae/Bluedot.png', 
       title: "User location" 
      }); 

     } 
     function displayError(error) { 
      var errors = { 
       1: 'Permission denied', 
       2: 'Position unavailable', 
       3: 'Request timeout' 
      }; 
      alert("Error: " + errors[error.code]); 
     } 
    </script> 
</body> 
</html> 

Сердечные приветы

День

ответ

0

У вас уже есть код, чтобы добавить маркер там -

установив должность

 var pos = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 

и установить маркер

  marker = new google.maps.Marker({ 
      position: pos, 
      map: map, 
      icon: 'https://upload.wikimedia.org/wikipedia/commons/a/ae/Bluedot.png', 
      title: "User location" 
     }); 

если дать другую широту и долготу переменной поз - то маркер будет появляться в другом положении ...

+0

Да, я хотел бы иметь два маркера на одна и та же карта. Один, как тот, который у меня уже есть на карте, который отмечает мое местоположение, и другой, который отмечает местоположение данного объекта (скажем, 38.100 +145.500). –

+0

вы видите строку, которая говорит var pos = new google.maps.LatLng? измените эту линию! - поместите эти координаты в круглую скобку и посмотрите, что произойдет! –

+0

Да, это дает мне маркер, который отмечает положение фиксированных координат, чего я тоже смог достичь. НО я хотел получить оба на той же карте. Таким образом, пользователь может видеть свою текущую позицию и позицию данного объекта. –