Конфигуриране на наслагвания на топлинна карта с помощта на API на Google Maps

Опитвам се да използвам API на Google Maps, за да генерирам топлинна карта на местоположения. Работи, но резултатът не е много полезен, тъй като частите, изобразени от топлинната карта, са малки и трудно се виждат:

проблем с топлинната карта на Google Maps

Нищо в документите не предлага начин за разширяване на топлинната карта за изобразяване в по-големи петна. Има ли недокументиран начин да направите това или това е просто ограничение на API? Имам ли нужда само от повече точки за данни? Поставих кода, който използвам по-долу.

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
      html {
        height: 100%
      }

      body {
        height: 100%;
        margin: 0px;
        padding: 0px
      }

      #map {
        height: 100%
      }
    </style>

    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript">
      function initialize() {
        var myLatlng = new google.maps.LatLng(44.646959,-63.589697);
        var myOptions = {
          zoom : 14,
          center : myLatlng,
          mapTypeId : google.maps.MapTypeId.ROADMAP
        }

        var map = new google.maps.Map(document.getElementById('map'), myOptions);

        var layer = new google.maps.FusionTablesLayer({
          query: {
            select: 'geometry',
            from: '[ fusion table id removed ]'
          },
          heatmap: { enabled: true }
        });

        layer.setMap(map);
      }
    </script>
  </head>
  <body onload="initialize()">
    <div id="map"></div>
  </body>
</html>

person Steve Vermeulen    schedule 25.10.2011    source източник


Отговори (4)


Вижте maxIntensity. Имах подобен проблем. maxIntensity в комбинация с радиус го поправи.

maxIntensity: Максималният интензитет на топлинната карта. По подразбиране цветовете на топлинната карта се мащабират динамично според най-голямата концентрация на точки във всеки конкретен пиксел на картата. Това свойство ви позволява да зададете фиксиран максимум. Задаването на максималния интензитет може да бъде полезно, когато вашият набор от данни съдържа няколко отклонения с необичайно висок интензитет.

person rynop    schedule 09.01.2013
comment
това работи и за мен. Какви са някои разумни диапазони за maxIntensity? - person Patrick Salami; 16.07.2014
comment
И къде задавате опцията maxIntensity? Inside heatmap: { enabled: true, maxIntensity: 80 } не работи за мен. - person Arjen; 24.07.2014

Топлинната карта работи чудесно за някои набори от данни и не толкова добре за други. Може да се интересувате от участието на една или и двете от следните заявки за функции:

http://code.google.com/p/fusion-tables/issues/detail?id=85

http://code.google.com/p/fusion-tables/issues/detail?id=68

person Kathryn Hurley    schedule 16.11.2011

Ако използвате Javascript API v3 на Google Карти (за разлика от приложния програмен интерфейс (API) на Fusion Tables, който използвате в момента), можете да зададете свойството „радиус“ на вашия обект на топлинна карта, за да правите точно това, което се опитвате да направи.

За съжаление, няма начин да направите това с помощта на API на Fusion Tables. Документацията дори изрично споменава това:

Слой Fusion Table: Няма възможност за персонализиране на външния вид на топлинната карта.

person rowanu    schedule 19.07.2012

Да, има.

Вижте кода, който използвам:

heatmap = new google.maps.visualization.HeatmapLayer({
    dissipating: true,
    map: map,
    radius: 50
});

Радиусът се измерва в метри, така че моите петна ще бъдат с диаметър 100 метра. Уведомете ме, ако това ви помага.

person Filipe Melo    schedule 24.01.2013
comment
радиусът е в пиксели, така че зависи от нивото на мащабиране - person Rene Pot; 05.09.2014
comment
@Rene Pot Това споменава ли се някъде в документацията? Това би било много полезно. - person nsane; 29.05.2015
comment
@nisargshah95 - ако не беше преди, сега е: developers.google. com/maps/documentation/javascript/ - person Warren Sergent; 01.06.2016