Ho alcuni dati che vengono raccolti tramite un dispositivo GPS installato in un'automobile. Quindi i dati che ho sono praticamente sdraiati su/intorno alla strada/strada. Ogni coordinata ha un certo valore. Il formato dei dati è qualcosa di simile.100k o più marker su google maps senza cluster
lat | long | value
---------------------------------
12.979155 | 77.644925 | 6
---------------------------------
12.97916833 | 77.64493667 | 2
---------------------------------
12.97917167 | 77.64492167 | 8
Il mio compito è quello di tracciare questi lat a lungo su google map. Sembra un compito abbastanza facile quando parliamo di posizionare 10, 100 o 1000 marker. Ma come ho accennato sopra stiamo raccogliendo i dati per guida e la distanza tra due lat-long o due punti sarà in pochi piedi (diciamo 2-3 piedi).
Quindi alla fine del sondaggio, avrò 90-100k lat-long per una piccola parte di una città e potrei arrivare a un milione per un'intera città.
Ho provato ad aggiungere 9-10k marker e il relativo woking fine ma quando sto provando a caricare 40k, 50k, 60k, il mio browser è molto lento e questo è il messaggio di errore con cui sto finendo.
Uncaught RangeError: Maximum call stack size exceeded main.js:1
Sono stato googling molto su di esso, ma io non sono in grado di trovare alcun esempio o tutorial che mi porterà a mettere 1 milione marcatore utilizzando tecnologie che conosco un po '. (Che è asp.net). Trovato questo esempio http://www.scribblemaps.com/markerComplex/ di Jonathan Wagner, ma non sono in grado di capirlo e implementarlo nel mio codice esistente che va così.
// Per recuperare lat-long dal server MSSQL.
function PushValues(ParameterID) {
a = ParameterID.slice(5);
var CityID = $('#ddlCity').val().split('|');
$.ajax({
type: "POST",
url: "index.aspx/PushLatLong",
data: "{CityID:'" + CityID[0] + "',OperatorID:'" + $('#ddlOperator').val() + "',ParameterID:'" + ParameterID.slice(4) + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
cache: false,
success: function (response) {
GooglePlaces = response.d.split('#');
if (GooglePlaces != "Blank") {
HasValues = 1;
} else {
HasValues = 0;
}
},
Error: function (r) {
}
});
}
// Inserisce valori in Google Map.
function PlaceValues() {
var options = { zoom: 3, center: new google.maps.LatLng(37.09, -95.71), mapTypeId: google.maps.MapTypeId.ROADMAP };
var map = new google.maps.Map(document.getElementById('map'), options);
var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < GooglePlaces.length; i = i + 2) {
ltlg = new google.maps.LatLng(GooglePlaces[i], GooglePlaces[i + 1]);
var marker = new google.maps.Marker({
position: ltlg,
map: map,
title: 'Place number',
icon: "img/GoogleIcons/" + legendfirstvalue[1]
});
bounds.extend(ltlg);
}
map.fitBounds(bounds)
$('#DivLoadImage').hide();
}
un'altra cosa che vorrei menzionare è che il colore del marcatore dipende dal valore di lat-lunga. Quindi avrò più marcatori di colore. Avrei potuto facilmente provare a clustare il marcatore ma, quindi non sarò in grado di vedere il colore del marcatore fino a quando non mi avvicinerò alla zona. Quindi non c'è modo che io possa usare Clustring.
Sono sicuro che ci saranno milioni di errori nel mio codice. Sono disposto a cambiare il mio approccio se necessario. Here è la demo dell'applicazione.
http://coeindia.in/test/harry/index.html non funziona – Kiquenet
Questo era un url dal mio vecchio sito Web dei datori di lavoro. Potrebbero aver fatto dei cambiamenti nelle directory. – Ravi