【发布时间】:2012-10-18 18:10:28
【问题描述】:
这里有个小问题。
我想做什么。
在我的服务器上,我有一个带有标记的表格,其中包含 lat、lng、tile 字段。 表格中有很多标记,所以我通过用户可见的图块来请求它们。 让它发挥应有的作用是我的最终目标。
问题
我想通过创建自己的mapType 并定义方法getTile() 来解决这个问题,该方法将负责使用x/y/z 表示法从服务器请求适当的图块,其中x,y 是图块的坐标,z 是缩放等级。更多关于这个你可以找到here。有我的代码(我在这里使用jquery-ui-map plugin):
function ServerFetchMapType() {
this.tileSize = new google.maps.Size(256,256);
this.maxZoom = 15;
this.name = "Server Tile #s";
this.alt = "Server Data Tile Map Type";
this.getTile = function(coord, zoom, ownerDocument){
//Data for request
var x = coord.x;
var y = coord.y;
var z = zoom;
//Here i will make an ajax request for markers in this tile
//Visualization
var div = ownerDocument.createElement('DIV');
div.innerHTML = 'X:' + coord.x + ' Y:' + coord.y + ' Z:' + zoom;
div.style.width = this.tileSize.width + 'px';
div.style.height = this.tileSize.height + 'px';
div.style.fontSize = '10';
div.style.borderStyle = 'solid';
div.style.borderWidth = '1px';
div.style.borderColor = '#AAAAAA';
return div;
};
}
var test = new ServerFetchMapType();
$('#map_canvas').gmap();
$('#map_canvas').gmap('get', 'map').overlayMapTypes.insertAt(0, test);
一切正常,但后来我发现了一个缺点,我将说明它:
您可以看到图片中心只有 4 个图块具有 right x/y/z 符号,因此所有图块都是该图块的后代。但我将无法使用其他磁贴从服务器获取数据。
问题
那么,我可以做些什么来改变地图只是重复的其他图块的坐标,使其具有与主图块相同的坐标?或者您可以提供其他方法来解决此问题。 任何帮助将不胜感激。
【问题讨论】:
标签: javascript google-maps maps tile