Как создать такой файл для данных тепловой карты Bing?

Я работаю над довольно простым приложением Heat Map, в котором долгота и широта точек будут храниться в базе данных SQL Server. Я рассматривал пример, в котором используется массив объектов следующим образом (для краткости удалено много данных):

/* Sample data to demonstrate Bing Maps Heatmap */
/* http://alastair.wordpress.com */
var CrimeData = [
new Microsoft.Maps.Location(52.67280, 0.94392),
new Microsoft.Maps.Location(52.62423, 1.29493),
new Microsoft.Maps.Location(52.62187, 1.29080),
new Microsoft.Maps.Location(52.58962, 1.72228),
new Microsoft.Maps.Location(52.69915, 0.24332),
new Microsoft.Maps.Location(52.51161, 0.99350),
new Microsoft.Maps.Location(52.59573, 1.17067),
new Microsoft.Maps.Location(52.94351, 0.49153),
new Microsoft.Maps.Location(52.64585, 1.73145),
new Microsoft.Maps.Location(52.75424, 1.30079),
new Microsoft.Maps.Location(52.63566, 1.27176),
new Microsoft.Maps.Location(52.63882, 1.23121)
];

Что я хочу сделать, так это представить пользователю какой-то список, который отображает все наборы данных, существующие в базе данных (каждый из них имеет имя, связанное с ними), а затем позволить пользователю проверить все или только некоторые избранные. Затем мне нужно будет сгенерировать массив, подобный приведенному выше, для создания тепловой карты. Любые идеи о хорошем подходе к этому?


person Michael Mahony    schedule 04.11.2014    source источник


Ответы (1)


То, чего вы пытаетесь достичь, больше связано с веб-разработкой, а не только с картами Bing. Подводя итог, у вас есть несколько способов сделать это, но это действительно зависит от того, что вы можете сделать и что вам нужно в интерфейсе.

Какой процесс/технология?

Во-первых, вам нужно определить, какой процесс вы хотите использовать для отображения данных, и он установит технологию, которую вы будете использовать. Вопросы, которые вам нужно задать себе:

  • Хотите иметь возможность динамически изменять наборы данных без обновления всей страницы?

Если да, то вам придется использовать асинхронную загрузку данных через специальный веб-сервис, чтобы не загружать всю информацию при начальной загрузке страницы.

  • У вас много данных для загрузки?

Если это так, вас может утешить асинхронная загрузка, чтобы избежать загрузки всех данных. Если не загружать все элементы в несколько массивов, это может быть самым простым решением.

Реализация

Итак, теперь вы хотите создать веб-службу для асинхронной загрузки данных, вы можете взглянуть на следующие веб-сайты:

Там могут быть интересные другие веб-сайты, вы сможете их найти. Если необходимо, добавьте комментарий, и я уверен, что сообщество поможет вам.

Если вы хотите генерировать данные непосредственно в скрипте, это может быть просто, поскольку вы можете составить JavaScript непосредственно на своей динамически созданной HTML-странице (в коде разметки ASP.Net или любой другой технологии, которую вы используете).

person Nicolas Boonaert    schedule 04.11.2014
comment
Клиент изменил свои потребности. Есть ли способ присвоить вес каждому набору значений long и lat? - person Michael Mahony; 10.11.2014
comment
Вам придется обновить алгоритм Аластера, но это можно сделать, чтобы тепловая карта отражала вашу собственную логику. - person Nicolas Boonaert; 10.11.2014
comment
Можете ли вы рассказать мне о Microsoft.Maps.Location.prototype.multiplier? Могу ли я добавить это в КАЖДОЕ место, которое я добавляю на карту? Например, могу ли я присвоить местоположению номер, а затем сложить все эти числа для данной долготы/широты и прикрепить это к карте? - person Michael Mahony; 10.11.2014
comment
Кроме того, как работает цветовой градиент? Я хочу назначить один цвет для каждого бизнес-сегмента, чтобы я мог видеть их на карте. В Power View это возможно, поскольку у меня есть пример от клиента, но они не знают, как это было сделано, и Power View не делает это очевидным. - person Michael Mahony; 10.11.2014