-1

Моего приложения:kml слоты лимитов Google Maps изменены?

  1. генерирует множество маркеров
  2. помещает их в KML файлами друг с 20k маркеров
  3. экспортирует файлы на сервер
  4. открывает каждый файл как KmlLayer и устанавливает слой с объектом карты

Моей проблема:

Перед т он изменил API (месяц назад). Я мог отображать более 100 тыс. маркеров на одной карте без проблем. IE будет намного медленнее, но все же правильно загружать точки в большинстве случаев.

сейчас (без кода, измененного на моей стороне) IE даже не рисует один слой с маркерами 10k. Chrome может сделать это до ~ 20k, но не более того. Карта просто не рисует один маркер, если количество точек велико.

Вы знаете, что изменили пределы? есть ли какое-нибудь обходное решение?

код выглядит следующим образом:

<!DOCTYPE html> 
<html> 
    <head> 
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> 
    <meta charset="utf-8"> 
    <title>KML Layers</title> 
    <style> 
     html, body, #map-canvas { 
     height: 100%; 
     margin: 0px; 
     padding: 0px 
     } 
    </style> 
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script> 
    <script type="text/javascript" src="htmlConfig.js" ></script> 
    <script> 
    var map;  
    function initialize() 
    { 
     var chicago = new google.maps.LatLng(-47.19105,-22.857302); 
     var mapOptions = 
     { 
      zoom: 6, 
      center: chicago 
       } 

     map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); 

     for(i = 0; i < _files; i++) 
     { 
      foo = (_url+'/'+(i)+'.kml'); 
      var ctaLayer = new google.maps.KmlLayer({url: foo}); 
      ctaLayer.setMap(map); 
     } 

    } 
    google.maps.event.addDomListener(window, 'load', initialize); 
    </script> 
    </head> 
    <body> 
    <div id="map-canvas"></div> 
    </body> 
</html> 

URL путь к серверу и _FILES является количество файлов каждого имени 0.kml, 1.kml и так далее

+0

Было ли изменено имя вашего сервера или пути к файлам KML (_url)? – geocodezip

+0

Я узнал, что хром не рисует маркеры, когда по какой-то причине масштаб далеко. IE все еще не работает ... – airgun

+0

вы можете предоставить [Минимальный, полный, проверенный и читаемый пример] (http://stackoverflow.com/help/mcve), который демонстрирует проблему? – geocodezip

ответ

0

Просто протестировал программное обеспечение дома, и он работал так, как должен. Поэтому я выяснил, что был установлен IT-отдел веб-фильтра. Как-то он возится с сообщением с файлами kml на общедоступном сервере или серверах google. Не так много делать в этом случае, я думаю ...

0

Существуют ограничения для KML и описаны в этом document первичные пределы находятся на размер KML, а не в количестве элементов

+0

Да, но размер kml пропорционален количеству элементов – airgun

0

Reference to the URL length limit in the documentation:

Существует ограничение на количество слоев KML, которое может отображаться на одной карте Google. Если вы превысите этот предел, ни один из ваших слоев не отобразится. Предел основан на общей длине всех URL-адресов, переданных классу KMLLayer, и, следовательно, будет варьироваться в зависимости от приложения; в среднем вы должны иметь возможность загружать от 10 до 20 слоев без ограничения.

Ограничение может быть изменено в зависимости от изменения API.

Попробуйте уменьшить длину URL-адресов в KML-файлах, используя «URL-адрес Shortener» (например, tinyurl).

+0

еще не загружает маркеры с tinyurl /: – airgun

+0

Используете ли вы пользовательские значки для маркеров? Просьба представить [Минимальный, полный, проверенный и читаемый пример] (http://stackoverflow.com/help/mcve), который демонстрирует проблему – geocodezip

Смежные вопросы