Я пытаюсь нарисовать 5 наборов ~ 30 тыс. Маркеров на карту Google за раз, которая настроена, зависит от пользовательского ввода/выбора.Таблицы Fusion против Postgres с PHP
Я заметил очень медленное время загрузки приложения при визуализации точек, используя следующий код.
function set_markers(minyear,maxyear,minprice,maxprice){
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
// this method is used to capture the response of the http request
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var pinpoints = JSON.parse(xmlhttp.responseText);
var marker;
var i=0;
var lat;
var lng;
var price;
var address;
var post_latlng;
var content;
for (i = 0;i<pinpoints.length;i++){
a=pinpoints[i];
lat=parseFloat(a["lat"]);
lng=parseFloat(a["lng"]);
price=parseFloat(a["price"]);
address=String(a["address_string"]);
date=String(a["date_of_sale"]);
post_latlng = new google.maps.LatLng(lat,lng);
content ="<b>Address:</b> " + address + "</br>" + "<b>Price:</b>€ " + price + '</br>' + "<b>Date of Sale:</b> " + date;
add_marker(address,post_latlng);
add_InfoWindow(content,marker);
}
}
}
xmlhttp.open("GET","ajax/pinpoints.php?lat1="+lat1+"&lat2="+lat2+"&lng1="+lng1+"&lng2="+lng2+"&minyear="+minyear+"&maxyear="+maxyear+"&minprice="+minprice+"&maxprice="+maxprice,true);
xmlhttp.send();
}
function add_marker(add,posit){
var marker = new google.maps.Marker({
map: map,
title: add,
position: posit
});
}
function add_InfoWindow(con,mark){
var infowindow = new google.maps.InfoWindow();
google.maps.event.addListener(marker,'click', (function(mark,con,infowindow{
return function(){
infowindow.setContent(con);
infowindow.open(map,mark);
};
})(marker,content,infowindow));
}
мне интересно, если с помощью Fusion Tables бы ускорить этот процесс, и по-прежнему позволяет мне рисовать точки, как указано в коде Javascript выше? Если да, то как я могу назвать таблицу Fusion из моего Javascript и сохранить возврат в массиве JSON, чтобы я мог вызвать минимальное нарушение приложения при переключении с PHP/Postgres на таблицы Fusion. Я уже создал соответствующую таблицу Fusion, мне просто нужно знать, как и как ее подключить?
Предложения по оптимизации приведенного выше кода для ускорения рабочего времени также приветствуются.
Обычно приложение должно добавлять маркеры к карте, основываясь на том, соответствуют ли определенные критерии, заданные с помощью пользовательского ввода, например, ценового диапазона. Я получаю эту подачу через штраф, мне просто интересно, есть ли способ сделать эти точки быстрее и как я могу это реализовать. – JellyTots
Я думаю, вы найдете FT значительно быстрее, чем рендеринг, чем перемещение 30k точек клиенту. Взгляните на шаблон карты поиска Дерека Эдера для фильтруемых карт, построенных с помощью таблиц Fusion: http: // derekeder.com/searchable_map_template/ –