Карта Google не загружается или зависает при заполнении более 50 тыс. Маркеров - PullRequest
0 голосов
/ 20 апреля 2019

Я заполняю угловую карту Google с более чем 50k-координатами, а также использую кластерный маркер, карта от 10 до 15k немного медленнее, но она загружается.Я могу увеличить масштаб или нажать на кластер, чтобы просмотреть конкретную информацию маркера.в случае 50k или больше, это не загрузка всей вкладки браузера.Пожалуйста, предложите любое решение для загрузки маркеров на 100 000 или более быстрее или любых карт, кроме google-maps.

Используя угловой 5, машинопись, ответ JSON состоит из всех координат и информации (которая составляет около 16-20 МБ для объектов 50 КБ).), Google Maps работает на сервере Ubuntu.

//index.component.html
<agm-map [latitude]="lat" [longitude]="lng" [zoom]="zoom" [fitBounds]=100>
    <agm-marker-cluster [imagePath]="'https://googlemaps.github.io/js-marker-clusterer/images/m'">
        <agm-marker *ngFor="let marker of analytics_data;"
                    [latitude]="marker.latitude" 
                    [longitude]="marker.longitude"
                    [label]="marker.first_name"
                    [iconUrl]="marker.icon_url">

            <agm-info-window>
                <strong>Name:{{marker.first_name}}{{marker.last_name}}</strong><br>
                <strong>Mobile:{{marker.gender}}</strong><br>
            </agm-info-window>
        </agm-marker>
    </agm-marker-cluster>
</agm-map>
//index.component.ts
    public getAnalytics() {
        this._dataService.get(url).subscribe(data => {
            this.analytics_data = data["data"];
        });
    }
{
    "status": 200,
    "success": true,
    "data": [
        {
            "id": 1,
            "first_name": "Sachin",
            "last_name": "kumar",
            "gender": "male"
            "latitude": 26.8346004,
            "longitude": 80.9212544
        },
        {
            "id": 2,
            "first_name": "satya",
            "last_name": "kumar",
            "gender": "male",
            "latitude": 26.8009544,
            "longitude": 80.8946128
        }...
}

Я ожидаю, что карта Google должна загружаться быстрее, но в настоящее время она не загружается или застряла.

1 Ответ

0 голосов
/ 20 апреля 2019

Когда вы загружаете много объектов в Google Maps, это тяжело на некоторых низкопроизводительных компьютерах или мобильных устройствах.Я думаю, вам нужно оптимизировать свои алгоритмы.Показывайте только маркеры в вашем видении.Вы можете сделать это, рассчитав расстояние между маркерами и вашей центральной координатой на картах.

var centerCoordinate = googleMaps.getCenter();

Рассчитать расстояние между двумя GPS-координатами

...