Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Передвижение объекта в Google Maps. / 11 сообщений из 11, страница 1 из 1
23.04.2013, 13:00
    #38236441
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передвижение объекта в Google Maps.
Привет всем! Я добавил 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
23.04.2013, 15:58
    #38236853
Students
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передвижение объекта в Google Maps.
на мобильных устройствах проблема из-за setInterval есть - обновляется карта.

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

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

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

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

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

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

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

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


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