为gwt openlayers和openstreetmap设置缩放级别
我正试图让缩放级别栏显示与脱机缓存相同数量的缩放级别,而使用gwt openlayers则非常困难 我试过,但没有成功:为gwt openlayers和openstreetmap设置缩放级别,gwt,openstreetmap,gwt-openlayers,Gwt,Openstreetmap,Gwt Openlayers,我正试图让缩放级别栏显示与脱机缓存相同数量的缩放级别,而使用gwt openlayers则非常困难 我试过,但没有成功: osmOptions.getJSObject().setProperty( "minZoomLevel", 5); osmOptions.getJSObject().setProperty( "maxZoomLevel", 11); 下面的方法正在为我实现这一点: /** * @param options * @param minZoomLevel th
osmOptions.getJSObject().setProperty(
"minZoomLevel", 5);
osmOptions.getJSObject().setProperty(
"maxZoomLevel", 11);
下面的方法正在为我实现这一点:
/**
* @param options
* @param minZoomLevel the minimum for this is 3 for open streetmap
* @param maxZoomLevel
*/
private static void setZoomLevelRange(LayerOptions options,
int minZoomLevel, int maxZoomLevel) {
options.getJSObject().setProperty("zoomOffset", minZoomLevel);
int len = maxZoomLevel - minZoomLevel + 1;
double[] resolutions = new double[len];
double curRes = 78271.51695 / (Math.pow(2, minZoomLevel - 1));
for (int i = 0; i < len; i++) {
resolutions[i] = curRes;
curRes = curRes / 2;
}
options.setResolutions(resolutions);
}
//用法示例:
OSMOptions osmOptions = new OSMOptions();
setZoomLevelRange(osmOptions, 5, 11);
OSM baseTileLayer = new OSM("Mapnik",
// for offline tiles:
GWT.getHostPageBaseURL()
+ "tiles/${z}/${x}/${y}.png",
osmOptions);
关键是: