powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Передвижение объекта в Google Maps.
11 сообщений из 11, страница 1 из 1
Передвижение объекта в Google Maps.
    #38236441
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем! Я добавил 2 маркера в карту (текущее местоположение человека и конечная цель):

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
<script type="text/javascript" src="/hk3/js/modernizr.js"></script>
<script type="text/javascript">
jQuery(document).ready(function() {
   
   function bindInfoWindow(marker, map, infowindow, html) {
    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(html);
        infowindow.open(map, marker);
    });
   } 

   var myOptions = {
    zoom: 6,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  
  var maps_id = jQuery(".test_google").find("div").attr("id");  
  
   function show_map(position) {
      var latitude = position.coords.latitude;
      var longitude = position.coords.longitude;      
      initialLocation = new google.maps.LatLng(latitude,longitude);      
      var map = new google.maps.Map(document.getElementById(maps_id), myOptions);      
      map.setCenter(initialLocation);
      
      var infowindow =  new google.maps.InfoWindow({
        content: ''
      });

      var image = '/hk3/i/ico/blue_round.png';
      var myLatLng = new google.maps.LatLng(latitude, longitude);
      var beachMarker = new google.maps.Marker({
          position: myLatLng,
          map: map,
          icon: image
      });

      bindInfoWindow(beachMarker, map, infowindow, 'Marker 1');      
      
      image = '/hk3/i/ico/marker.png';
      var myLatLng1 = new google.maps.LatLng(50.5, 50.3);
      var beachMarker1 = new google.maps.Marker({
          position: myLatLng1,
          map: map,
          icon: image
      });

      bindInfoWindow(beachMarker1, map, infowindow, 'Marker 2');
    }
    
   function get_location() {
       if (Modernizr.geolocation) {         
         navigator.geolocation.getCurrentPosition(show_map);         
       } 
       else {
        
       }
     }
    get_location();   
});
</script>



Скажите, каким образом лучше отлавливать перемещение человека - поставить setinterval каждый 10 секунд и обновлять маркер или как-то по другому делают?
...
Рейтинг: 0 / 0
Передвижение объекта в Google Maps.
    #38236853
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на мобильных устройствах проблема из-за setInterval есть - обновляется карта.

Может есть другой способ?
...
Рейтинг: 0 / 0
Передвижение объекта в Google Maps.
    #38236869
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Studentsна мобильных устройствах проблема из-за setInterval есть - обновляется карта.карта обновляется не из-за setInterval, а скорее всего потому, что каждый navigator.geolocation.getCurrentPosition приводит к вызову show_map

просто двигай маркер. Если сдвинулся сильно к краю - дополнительно двигай центр карты.
...
Рейтинг: 0 / 0
Передвижение объекта в Google Maps.
    #38236900
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный МечStudentsна мобильных устройствах проблема из-за setInterval есть - обновляется карта.карта обновляется не из-за setInterval, а скорее всего потому, что каждый navigator.geolocation.getCurrentPosition приводит к вызову show_map

просто двигай маркер. Если сдвинулся сильно к краю - дополнительно двигай центр карты.

так я и вызываю show_map, чтобы маркер проставить на новом месте каждые 5 секунд
...
Рейтинг: 0 / 0
Передвижение объекта в Google Maps.
    #38236908
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Studentsтак я и вызываю show_map, чтобы маркер проставить на новом месте каждые 5 секундну вот.
а show_map пересоздает карту.

ещё раз говорю - просто двигай маркеры, уже созданные маркеры на уже созданной карте.
...
Рейтинг: 0 / 0
Передвижение объекта в Google Maps.
    #38236919
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Передвижение объекта в Google Maps.
    #38236926
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в браузере каждый 5 секунд вылазит "разрешить сообщать местоположение".

Может нужно не через setInterval? я не нашёл нигде
...
Рейтинг: 0 / 0
Передвижение объекта в Google Maps.
    #38236936
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Studentsв браузере каждый 5 секунд вылазит "разрешить сообщать местоположение".насколько я знаю, достаточно разрешить 1 раз
...
Рейтинг: 0 / 0
Передвижение объекта в Google Maps.
    #38236984
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне так или иначе нужно вызывать navigator.geolocation.getCurrentPosition, чтобы определить текущую позицию
...
Рейтинг: 0 / 0
Передвижение объекта в Google Maps.
    #38237021
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я прописал метод setPosition, как в API, но текущие координаты всё равно берутся у navigator.geolocation.getCurrentPosition.
Как быть?
...
Рейтинг: 0 / 0
Передвижение объекта в Google Maps.
    #38237716
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всё, разобрался.

нужно использовать

navigator.geolocation.watchPosition, он ловит перемещения
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Передвижение объекта в Google Maps.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]