powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / google maps и много маркеров
10 сообщений из 35, страница 2 из 2
google maps и много маркеров
    #38230121
boobonick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не подскажите есть ли решения когда несколько маркеров попадают в одну точку, но мне необходимо просмотреть всех их.
...
Рейтинг: 0 / 0
google maps и много маркеров
    #38230132
cooldeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ставить один маркер, но инфа о нем может быть агрегирована.
...
Рейтинг: 0 / 0
google maps и много маркеров
    #38230144
авторБлагодарю, бяда у меня была в том что надо было setTimeout() использовать при добавлении маркера
стесняюсь спросить - зачем?
Код: c#
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.
<script type="text/javascript">
    window.onload = function() {      
            var map = new google.maps.Map(document.getElementById('map-canvas'), {
                    zoom: 16,                    
                    mapTypeId: google.maps.MapTypeId.SATELLITE
                }),        
                geocoder = new google.maps.Geocoder(),
                geocode = function(address, callback) {                   
                    geocoder.geocode({'address': address}, function(results, status) {
                        if (status === google.maps.GeocoderStatus.OK) {                            
                            callback({'location' : results[0].geometry.location});
                        } else {
                            callback({'error' : status});                            
                        }                        
                    });
                },
                markAdresses = function (addresses, i) {              
                    geocode(addresses[i], function(response){                   
                        if(response['location']) {                           
                            map.setCenter(response['location']);                         
                            new google.maps.Marker({
                                position: response['location'],
                                map: map,       
                                title: addresses[i]
                            }); 
                            if(addresses[++i]) {
                                return markAdresses(addresses, i);
                            }
                        } else {
                            console.log('Geocode was not successful - reason: ' + response['error']);
                        }                     
                    });
                };
            
            markAdresses([
                    'Москва, Большой каретный 1',
                    'Москва, Большой каретный 10',
                    'Москва, Большой каретный 12',
                    'Москва, Большой каретный 15',
                    'Москва, Большой каретный 6'
                ], 0);
    };
</script>


угадал? ;)
...
Рейтинг: 0 / 0
google maps и много маркеров
    #38238662
boobonick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то так...,спасибо! У меня ошибки вываливались с OVER_QUERY_LIMIT . А как сделать, чтобы
сначала обработалось:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
       var markers = [];

    $.ajax({
        url: '/Employee/MapsJson',
        type: 'GET',
        data: JSON.stringify(contact),
        success: function (result) {

            for (var i = 0; i < result.rows.length; i++) {

                markers.push(result.rows[i].Адрес);
            }
            alert(markers);
        },
        dataType: "json",
        contentType: "application/json; charset=utf-8"
    });
...
Рейтинг: 0 / 0
google maps и много маркеров
    #38239611
авторУ меня ошибки вываливались с OVER_QUERY_LIMIT
не удивлён!
Заплати им копейки - или закачай все координаты в свою!! БД один раз - и тяни уже оттуда!!!
авторА как сделать, чтобы сначала обработалось:
не очень понял, где проблема... как-то так, наверное
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
$.ajax({
        url: '/Employee/MapsJson',
        type: 'GET',
        data: JSON.stringify(contact),
        success: function (result) {

            for (var i = 0; i < result.rows.length; i++) {

                markers.push(result.rows[i].Адрес);
            }

            markAdresses(markers, 0);
            
            //alert(markers);
        },
        dataType: "json",
        contentType: "application/json; charset=utf-8"
    });


кстати, называть поля в бд (как и свойства у объектов) на русском - моветон! ;)
...
Рейтинг: 0 / 0
google maps и много маркеров
    #38241837
boobonick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то так..., благодарю. Как я понял надо учитывать количество запросов в единицу времени и для этого надо использовать setTimeout.


Реализовал такое:

Код: 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.
geocoder = new google.maps.Geocoder();

 function showAddress(name, address, link) {

        geocoder.geocode({ 'address': "Москва " + address }, function (results, status) {

            if (status == google.maps.GeocoderStatus.OK) {


                marker = new google.maps.Marker({
                    position: results[0].geometry.location,
                    map: map,
                    title: address
                }); //добавление маркера

                markers.push(marker);


                var contentString = '<div id="infoWindow">' +
                    '<a href="' + link + '" target="_blank">'
                    + name + '</a>' + '<p>' + address + '</p>';


                var infowindow = new google.maps.InfoWindow();

                bindInfoWindow(marker, contentString, infowindow);

            }
            else if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT) {
                //   alert("OVER_QUERY_LIMIT: " + status + " Адрес: " + address);
                setTimeout(function () { showAddress(name, address, link); }, 100);

            } else {

                //   alert("Geocode was not successful for the following reason: " + status + " Адрес: " + address);
            }

        });
       
    }



  function createCluster() {
        var markerCluster = new MarkerClusterer(map, markers);
      //  alert('TEST');
    };

    $(document).ready(function () {
        $.ajax({
            url: '/Employee/MapsJson',
            type: 'GET',
            data: JSON.stringify(contact),
            success: function (result) {

                for (var i = 0; i < result.rows.length; i++) {

                    showAddress(result.rows[i].Адрес, result.rows[i].Адрес, result.rows[i].Адрес);
                }
                
                createCluster();
                //setTimeout(createCluster, 100000);


            },
            dataType: "json",
            contentType: "application/json; charset=utf-8"
        });
    });



Теперь думаю, как сделать кластеризацию после того как загрузятся все маркеры. Сейчас срабатывает как-то рандомно все. Правильно ли я понимаю что чтобы вызвать createCluster(); после выполнения всех setTimeout в функции showAddress, то мне необходимо кластер реализовать через setTimeout(createCluster, 0); ? Но почему не срабатывает?
...
Рейтинг: 0 / 0
google maps и много маркеров
    #38242246
как-так...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
почему ты упорно не хочешь взять один раз геокоординаты всех адресов и сложить их в БД?
в чем профит всех этих таймаутов?
...
Рейтинг: 0 / 0
google maps и много маркеров
    #38242262
boobonick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все равно конечно положу координаты в базу, но если неизвестны места заранее?
...
Рейтинг: 0 / 0
google maps и много маркеров
    #38242270
boobonick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я же не могу найти данные с координатами абсолютно всех адресов Москвы?
...
Рейтинг: 0 / 0
google maps и много маркеров
    #38242426
если ты делаешь свой! GM по Москве и её окрестностям - это одно...
если у тебя автозаправочные станции, которые априори редко перезжают с места на место - это другое!

но! и в том и в том случае можно связаться с GM разработчиками и объяснить ситуацию

https://developers.google.com/maps/documentation/business/?hl=ru
https://developers.google.com/places/documentation/?hl=ru#Requirements

автор...но если неизвестны места заранее?
мне осюда невидно твоей задачи, поэтому оптимальные решения я тебе предложить несмогу!
как вариант - https://developers.google.com/maps/documentation/javascript/places?hl=ru

ИМХО постоянная выборка по тайм-ауту - ЖЕСТЬ - и разрабы GM API это прекрасно понимают - поэтому и впендюрили!!! ;)))
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / google maps и много маркеров
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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