Google maps 如何在没有性能问题和延迟的情况下在Google Maps中加载数千个标记
我有一张从MySQL数据库导出的4627个标记组成的地图。我使用MarkerClusterer库对标记进行分组,但是我注意到存在明显的延迟,将来可能会出现web浏览器崩溃。如何改进它,如何在没有影响的情况下快速展示它们?我必须使用MarkerManager或MarkerOverlay吗 代码:Google maps 如何在没有性能问题和延迟的情况下在Google Maps中加载数千个标记,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我有一张从MySQL数据库导出的4627个标记组成的地图。我使用MarkerClusterer库对标记进行分组,但是我注意到存在明显的延迟,将来可能会出现web浏览器崩溃。如何改进它,如何在没有影响的情况下快速展示它们?我必须使用MarkerManager或MarkerOverlay吗 代码: 我正在从一个.php文件生成的XML文件中提取标记。我设法找到了解决方案。只需使用JSON而不是XML!JSON比XML快得多。我设法找到了解决方案。只需使用JSON而不是XML!JSON比XML快得多。
我正在从一个.php文件生成的XML文件中提取标记。我设法找到了解决方案。只需使用JSON而不是XML!JSON比XML快得多。我设法找到了解决方案。只需使用JSON而不是XML!JSON比XML快得多。
var markerCluster;
var gmarkers = [];
var markerclusterer = null;
var mapCenter = new google.maps.LatLng(37.929162, 23.6994703); //Google map Coordinates
var map;
var infowindow1;
infowindow1 = new google.maps.InfoWindow();
var infowindow3;
var edit_address;
var pillar_rel;
var check;
map_initialize(); // initialize google map
//############### Google Map Initialize ##############
function map_initialize()
{
var googleMapOptions =
{
center: mapCenter, // map center
zoom: 15, //zoom level, 0 = earth view to higher value
maxZoom: 35,
minZoom: 3,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.SMALL //zoom control size
},
scaleControl: true, // enable scale control
mapTypeId: google.maps.MapTypeId.ROADMAP // google map type
};
map = new google.maps.Map(document.getElementById("google_map"), googleMapOptions);
//Load Markers from the XML File, Check (map_process.php)
$.get("map_process.php", function (data) {
$(data).find("marker").each(function ()
{
var point = new google.maps.LatLng(parseFloat($(this).attr('lat')),parseFloat($(this).attr('lng')));
var township = ("Περιοχή : ").concat($(this).attr('township'));
var fop = ("Κατηγορία : ").concat($(this).attr('fop'));
var name = ("Ιστός : ").concat($(this).attr('name'));
create_marker(point, township, fop, name, address, type, fot, lamp, power, vlaves, pillar, pillar_relation, username, false, false, false, "icons/pillar-small-red.png");
});
markerCluster = new MarkerClusterer(map, gmarkers,
{
imagePath: 'icons/m/m'
});
});
}
//############### Create Marker Function ##############
function create_marker(MapPos, MapTitle, MapDesc, Yliko, Ypsos, Plithos, TyposFot, TyposLamp, Power, Vlaves, Pillar, Pillar_Relation, User, InfoOpenDefault, DragAble, Removable, iconPath)
{
var marker = new google.maps.Marker({
position: MapPos,
map: map,
draggable:DragAble,
animation: google.maps.Animation.DROP,
title:"ΚΟΛΟΝΑ ΔΕΗ",
icon: iconPath
});
gmarkers.push(marker);
}