我正在处理这个问题:在谷歌地图 API v3 上加载巨大的多边形。它是一个国家或地区的行政边界,所以它很大,很多顶点。我尝试了 02 个选项:
- 从定义的路径绘制多边形:这很慢
- 使用google FusionTableLayer,这个速度很快,问题是在某些情况下google的边界数据不正确或者不充分,想用自己的数据。是否可以调整 Google FusionTableLayer 以从我自己的来源获取数据。例如一些像这样的伪代码:
var layer = new google.maps.FusionTableLayer(tableid, options);
layer.setData(owndata); // instead of layer.setQuery(query) to get data from Google
有可能做这个黑客吗?谁能给我小费?非常感谢。
代码摘录:
var paths=[];
var vlist=[.............]; //long list of lon,lat saved in .txt file which may size up to 1.3 Mb
for(var j=vlist.length-1;j>0;j-=2){
paths.push(new google.maps.LatLng(vlist[j],vlist[j-1]))
}
var poly = new google.maps.Polygon({paths:paths,...});
poly.setMap(mymap);
thePolygons.push(poly);
//more polygons, some sparse areas with a lot of islands, the number of polygons may run to 1000
//....