Форум программистов, компьютерный форум, киберфорум
JavaScript: API
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
22 / 21 / 8
Регистрация: 11.09.2015
Сообщений: 109
1

Google maps api Кластеризация

24.10.2016, 21:23. Показов 1629. Ответов 1

Author24 — интернет-сервис помощи студентам
День добрый, ранее писал о проблеме слияния js скрипта геолокации и xml парсинга.
Предыдущий тред:Google maps api SQL + GEO

Столкнулся с еще ондой проблемой - кластеризация
Хотелось бы узнать, как можно воткнуть конструкцию
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function initialize() {
        var center = new google.maps.LatLng(51.5074, 0.1278);
 
        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 3,
          center: center,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        });
 
        var markers = [];
        var marker = new google.maps.Marker({
            position: new google.maps.LatLng(51.5074, 0.1278)
        });
        markers.push(marker);
 
        var options = {
            imagePath: 'images/m'
        };
 
        var markerCluster = new MarkerClusterer(map, markers, options);
    }

в конструкцию из предыдущего поста??)))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2016, 21:23
Ответы с готовыми решениями:

Google maps API
Всем привет! Возник интересный вопрос (для начинающего) насчёт Google Maps API. Общеизвестный...

Google maps API
Здравствуйте. Нужна помощь по 575,7. Нужно сделать такую карту: • Допустим, на карте есть 50...

Infowindow Google Maps API
как убрать закрытие балуна( infowindow ) в Google Maps API ?

Google Maps Javascript API v3
Я вставил Карту гугл на сайт. Как сделать так, чтоб она сразу находила местоположение пользователя?...

1
22 / 21 / 8
Регистрация: 11.09.2015
Сообщений: 109
26.10.2016, 17:08  [ТС] 2
окей, разобрался почти-что!
РЕБЯТ НУ ПОМОГИТЕ!
Все вроде бы окей, но только консоль уже ругается

TypeError: marker.getPosition is not a function. (In 'marker.getPosition()', 'marker.getPosition' is undefined)
Тобишь, если я правильно интерпретировал, то он не может в блоке
Javascript
1
2
3
4
 var marker = new google.maps.Marker({
            map: map,
            position: point, 
            icon: icon.icon});
получить данные позиции поинтера.
Ругается причем на официальные гугловские js-скрипты (14 ошибок)

Вот весь листинг:
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
62
//<![CDATA[
    var customIcons = {
      restaurant: {icon: 'assets/img/map/pointer_green.png'},
      bar: {icon: 'assets/img/map/pointer_favourited.png'}};
    var options = {imagePath: 'assets/img/map/pointer_green.png'};
  function load() {
   var map = new google.maps.Map(document.getElementById("map"), {
        center: {lat: 47.6145, lng: -122.3418}, 
        zoom: 10,
        mapTypeId: 'roadmap',
        disableDefaultUI: 'true'
      });
var infoWindow = new google.maps.InfoWindow;
      navigator.geolocation.getCurrentPosition(function(position) {
      var pos = {
        lat:  position.coords.latitude,
        lng: position.coords.longitude
      };
     map.setCenter(pos);
   });
      downloadUrl("system/phpsqlajax_genxml.php", function(data) {
     var xml = data.responseXML;
     var markers =  xml.documentElement.getElementsByTagName("marker");
     for (var i = 0; i < markers.length; i++) {
          var name     = markers[i].getAttribute("name");
          var address = markers[i].getAttribute("address");
          var type       = markers[i].getAttribute("type");
          var point      = new google.maps.LatLng(
             parseFloat(markers[i].getAttribute("lat")),
             parseFloat(markers[i].getAttribute("lng")));
          var html = "<img scr='/assets/img/map/pointer_green.png'><b>" + name + "</b> <br/>" + address + "<form><button>follow</button></form>";
          var icon = customIcons[type] || {};
          var marker = new google.maps.Marker({
            map: map,
            position: point, 
            icon: icon.icon});
   var markerCluster = new MarkerClusterer(map, markers,options); 
   bindInfoWindow(marker, map, infoWindow, html);
         }
      });
    }
    function bindInfoWindow(marker, map, infoWindow, html) {
    google.maps.event.addListener(marker, 'click', function() {
        infoWindow.setContent(html);
        infoWindow.open(map, marker);
      });
    }
    function downloadUrl(url, callback) {
    var request = window.ActiveXObject ?
          new ActiveXObject('Microsoft.XMLHTTP') :
          new XMLHttpRequest;
         request.onreadystatechange = function() {
    if (request.readyState == 4) {
          request.onreadystatechange = doNothing;
          callback(request, request.status);
        }
      };
      request.open('GET', url, true);
      request.send(null);
    }
     function doNothing() {}
   //]]>
Добавлено через 51 минуту
РЕШЕНО!
Если есть вопросы, попробую ответить)


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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
//<![CDATA[
 
    var customIcons = {
      restaurant: {icon: 'assets/img/map/pointer_green.png'},
      bar: {icon: 'assets/img/map/pointer_favourited.png'}};
    var options = {imagePath: 'assets/img/map/m'};
 
 
  function load() {
   var map = new google.maps.Map(document.getElementById("map"), {
        center: {lat: 47.6145, lng: -122.3418}, 
  //   center: new google.maps.LatLng(47.6145, -122.3418), 
 //    zoom: 15,
        zoom: 10,
        mapTypeId: 'roadmap',
        disableDefaultUI: 'true'
      });
 
 
var infoWindow = new google.maps.InfoWindow;
 
 
// ---------------------
// ---------------------Try HTML5 geolocation.
// ---------------------
      navigator.geolocation.getCurrentPosition(function(position) {
      var pos = {
        lat:  position.coords.latitude,
        lng: position.coords.longitude
      };
     map.setCenter(pos);
   });
// --------------------- 
//--------------------end of geolocation
// ---------------------
 
 
  // Change this depending on the name of your PHP file
      downloadUrl("system/phpsqlajax_genxml.php", function(data) {
     var xml = data.responseXML;
     var markerss = [];
     var markers =  xml.documentElement.getElementsByTagName("marker");
     for (var i = 0; i < markers.length; i++) {
          var name     = markers[i].getAttribute("name");
          var address = markers[i].getAttribute("address");
          var type       = markers[i].getAttribute("type");
          var point      = new google.maps.LatLng(
             parseFloat(markers[i].getAttribute("lat")),
             parseFloat(markers[i].getAttribute("lng")));
 
//custom infowindow creating here
          var html = "<img scr='/assets/img/map/pointer_green.png'><b>" + name + "</b> <br/>" + address + "<form><button>follow</button></form>";
          var icon = customIcons[type] || {};
          var marker = new google.maps.Marker({
            map: map,
            position: point, 
            icon: icon.icon});
   markerss.push(marker);
   bindInfoWindow(marker, map, infoWindow, html);
         }   
var markerCluster = new MarkerClusterer(map, markerss,options); 
      });
    }
    function bindInfoWindow(marker, map, infoWindow, html) {
    google.maps.event.addListener(marker, 'click', function() {
        infoWindow.setContent(html);
        infoWindow.open(map, marker);
      });
    }
    function downloadUrl(url, callback) {
    var request = window.ActiveXObject ?
          new ActiveXObject('Microsoft.XMLHTTP') :
          new XMLHttpRequest;
         request.onreadystatechange = function() {
    if (request.readyState == 4) {
          request.onreadystatechange = doNothing;
          callback(request, request.status);
        }
      };
      request.open('GET', url, true);
      request.send(null);
    }
    
    function doNothing() {}
   //]]>
0
26.10.2016, 17:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.10.2016, 17:08
Помогаю со студенческими работами здесь

Google maps api SQL + GEO
Дорогие киберфорумчане! Есть проблемка, написал скрипт по гугловским гайдам. В конструкции два...

Google maps API рисование Эллипса
Здравствуйте возник вопрос, как с помощью функций google maps API нарисовать эллипс привязанный к...

Google maps api + external link
И снова добрый день, программисты!:) Предыдущие треды, в которые я описывал были успешно мою же...

Google maps api геокодер и несколько меток
Есть пример геокодера на гугл (прикреплен в файле) там вводишь в input адрес и оно показывает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru