mirror of
https://github.com/meteoinfo/MeteoInfo.git
synced 2025-12-08 20:36:05 +00:00
add new google webmap tile info
This commit is contained in:
parent
37bd5988a8
commit
9b1b1f5804
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package org.meteoinfo.data.mapdata.webmap;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author yaqiang
|
||||
*/
|
||||
public class GoogleCNMapInfo extends TileFactoryInfo {
|
||||
|
||||
// <editor-fold desc="Variables">
|
||||
private String version = "1173";
|
||||
private String clientKey = null;
|
||||
// </editor-fold>
|
||||
// <editor-fold desc="Constructor">
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public GoogleCNMapInfo() {
|
||||
super("GoogleCNMap", 1, 17, 19,
|
||||
256, true, true, // tile size is 256 and x/y orientation is normal
|
||||
"https://gac-geo.googlecnapps.cn/maps/vt?lyrs=m&x=%1$d&y=%2$d&z=%3$d",
|
||||
"x", "y", "z");
|
||||
}
|
||||
// </editor-fold>
|
||||
|
||||
// <editor-fold desc="Methods">
|
||||
@Override
|
||||
public String getTileUrl(int x, int y, int zoom) {
|
||||
zoom = this.getTotalMapZoom() - zoom;
|
||||
String url = String.format(this.baseURL, x, y, zoom);
|
||||
|
||||
return url;
|
||||
}
|
||||
// </editor-fold>
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package org.meteoinfo.data.mapdata.webmap;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author yaqiang
|
||||
*/
|
||||
public class GoogleCNSatelliteMapInfo extends TileFactoryInfo {
|
||||
|
||||
// <editor-fold desc="Variables">
|
||||
private String version = "1173";
|
||||
private String clientKey = null;
|
||||
// </editor-fold>
|
||||
// <editor-fold desc="Constructor">
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public GoogleCNSatelliteMapInfo() {
|
||||
super("GoogleCNSatelliteMap", 1, 17, 19,
|
||||
256, true, true, // tile size is 256 and x/y orientation is normal
|
||||
"https://gac-geo.googlecnapps.cn/maps/vt?lyrs=s&x=%1$d&y=%2$d&z=%3$d",
|
||||
"x", "y", "z");
|
||||
}
|
||||
// </editor-fold>
|
||||
|
||||
// <editor-fold desc="Methods">
|
||||
@Override
|
||||
public String getTileUrl(int x, int y, int zoom) {
|
||||
zoom = this.getTotalMapZoom() - zoom;
|
||||
String url = String.format(this.baseURL, x, y, zoom);
|
||||
|
||||
return url;
|
||||
}
|
||||
// </editor-fold>
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package org.meteoinfo.data.mapdata.webmap;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author yaqiang
|
||||
*/
|
||||
public class GoogleCNTerrainMapInfo extends TileFactoryInfo {
|
||||
|
||||
// <editor-fold desc="Variables">
|
||||
private String version = "1173";
|
||||
private String clientKey = null;
|
||||
// </editor-fold>
|
||||
// <editor-fold desc="Constructor">
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public GoogleCNTerrainMapInfo() {
|
||||
super("GoogleCNTerrainMap", 1, 17, 19,
|
||||
256, true, true, // tile size is 256 and x/y orientation is normal
|
||||
"https://gac-geo.googlecnapps.cn/maps/vt?lyrs=p&x=%1$d&y=%2$d&z=%3$d",
|
||||
"x", "y", "z");
|
||||
}
|
||||
// </editor-fold>
|
||||
|
||||
// <editor-fold desc="Methods">
|
||||
@Override
|
||||
public String getTileUrl(int x, int y, int zoom) {
|
||||
zoom = this.getTotalMapZoom() - zoom;
|
||||
String url = String.format(this.baseURL, x, y, zoom);
|
||||
|
||||
return url;
|
||||
}
|
||||
// </editor-fold>
|
||||
}
|
||||
@ -20,10 +20,6 @@ public class GoogleMapInfo extends TileFactoryInfo {
|
||||
* Constructor
|
||||
*/
|
||||
public GoogleMapInfo() {
|
||||
// super("GoogleMap", 1, 17, 19,
|
||||
// 256, true, true, // tile size is 256 and x/y orientation is normal
|
||||
// "http://ecn.t%1$d.tiles.virtualearth.net/tiles/r%2$s?g=%3$s&mkt=%4$s&lbl=l1&stl=h&shading=hill&n=z%5$s",
|
||||
// "x", "y", "z");
|
||||
super("GoogleMap", 1, 17, 19,
|
||||
256, true, true, // tile size is 256 and x/y orientation is normal
|
||||
"http://mt2.google.cn/vt/lyrs=m&hl=%1$s&gl=cn&x=%2$d&y=%3$d&z=%4$d&s=Galil",
|
||||
@ -43,18 +39,6 @@ public class GoogleMapInfo extends TileFactoryInfo {
|
||||
//String url = String.format(this.baseURL, x, y, zoom, this.getLanguage());
|
||||
return url;
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public String getTileUrl(int x, int y, int zoom, String language) {
|
||||
// zoom = this.getTotalMapZoom() - zoom;
|
||||
// int serverNum = this.getServerNum(x, y, 4);
|
||||
// String key = this.tileXYToQuadKey(x, y, zoom);
|
||||
// String ckey = this.clientKey;
|
||||
// if (ckey == null)
|
||||
// ckey = "";
|
||||
// String url = String.format(this.baseURL, serverNum, key, version, language, zoom, x, y);
|
||||
// return url;
|
||||
// }
|
||||
/// <summary>
|
||||
/// Converts tile XY coordinates into a QuadKey at a specified level of detail.
|
||||
/// </summary>
|
||||
|
||||
@ -21,9 +21,6 @@ public class GoogleSatelliteMapInfo extends TileFactoryInfo {
|
||||
256, true, true, // tile size is 256 and x/y orientation is normal
|
||||
"http://mt3.google.cn/vt/lyrs=s&hl=%1$s&gl=cn&x=%2$d&y=%3$d&z=%4$d&s=Galil",
|
||||
"x", "y", "z");
|
||||
//String url = "http://mt1.google.com/vt/lyrs=y&hl=%s&x=%d&y=%d&z=%d&s=Ga";
|
||||
//String url = "http://mt3.google.com/vt/lyrs=s&hl=%1$s&gl=cn&x=%2$d&y=%3$d&z=%4$d&s=Galil";
|
||||
//this.baseURL = url;
|
||||
}
|
||||
// // </editor-fold>
|
||||
// // <editor-fold desc="Get Set Methods">
|
||||
|
||||
@ -10,36 +10,49 @@ package org.meteoinfo.data.mapdata.webmap;
|
||||
*/
|
||||
public enum WebMapProvider {
|
||||
//SwingLabsBlueMarble,
|
||||
OpenStreetMap,
|
||||
OpenStreetMapQuestSatellite,
|
||||
BingMap,
|
||||
BingSatelliteMap,
|
||||
BingHybridMap,
|
||||
GoogleMap,
|
||||
GoogleSatelliteMap,
|
||||
GoogleTerrainMap,
|
||||
GoogleHybridMap,
|
||||
GoogleHybridTerrainMap,
|
||||
AMap,
|
||||
ASatelliteMap,
|
||||
AHybridMap,
|
||||
TencentMap,
|
||||
GeoQMap,
|
||||
GeoQGrayMap,
|
||||
GeoQBlueMap,
|
||||
GeoQWarmMap,
|
||||
//BaiduMap,
|
||||
//BaiduSatelliteMap,
|
||||
//OviMap,
|
||||
//OviSatelliteMap,
|
||||
//OviTerrainMap,
|
||||
//OviHybridMap,
|
||||
YahooMap,
|
||||
YahooSatelliteMap,
|
||||
YahooHybridMap,
|
||||
CMA_CVA_MAP,
|
||||
CMA_VEC_MAP,
|
||||
CMA_IMG_MAP,
|
||||
//ArcGISImage
|
||||
Custom
|
||||
OpenStreetMap(new OpenStreetMapInfo()),
|
||||
OpenStreetMapQuestSatellite(new OpenStreetMapQuestSatelliteInfo()),
|
||||
BingMap(new BingMapInfo()),
|
||||
BingSatelliteMap(new BingSatelliteMapInfo()),
|
||||
BingHybridMap(new BingHybridMapInfo()),
|
||||
GoogleMap(new GoogleMapInfo()),
|
||||
GoogleSatelliteMap(new GoogleSatelliteMapInfo()),
|
||||
GoogleTerrainMap(new GoogleTerrainMapInfo()),
|
||||
GoogleHybridMap(new GoogleHybridMapInfo()),
|
||||
GoogleHybridTerrainMap(new GoogleHybridTerrainMapInfo()),
|
||||
GoogleCNMap(new GoogleCNMapInfo()),
|
||||
GoogleCNSatelliteMap(new GoogleCNSatelliteMapInfo()),
|
||||
GoogleCNTerrainMap(new GoogleCNTerrainMapInfo()),
|
||||
AMap(new AMapInfo()),
|
||||
ASatelliteMap(new ASatelliteMapInfo()),
|
||||
AHybridMap(new AHybridMapInfo()),
|
||||
TencentMap(new TencentMapInfo()),
|
||||
GeoQMap(new GeoQMapInfo()),
|
||||
GeoQGrayMap(new GeoQGrayMapInfo()),
|
||||
GeoQBlueMap(new GeoQBlueMapInfo()),
|
||||
GeoQWarmMap(new GeoQWarmMapInfo()),
|
||||
YahooMap(new YahooMapInfo()),
|
||||
YahooSatelliteMap(new YahooSatelliteMapInfo()),
|
||||
YahooHybridMap(new YahooHybridMapInfo()),
|
||||
CMA_CVA_MAP(new CMACvaMapInfo()),
|
||||
CMA_VEC_MAP(new CMAVecMapInfo()),
|
||||
CMA_IMG_MAP(new CMAImgMapInfo());
|
||||
|
||||
private final TileFactoryInfo tileFactoryInfo;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @param tileFactoryInfo Tile factory info
|
||||
*/
|
||||
WebMapProvider(TileFactoryInfo tileFactoryInfo) {
|
||||
this.tileFactoryInfo = tileFactoryInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get tile factory info
|
||||
* @return Tile factory info
|
||||
*/
|
||||
public TileFactoryInfo getTileFactoryInfo() {
|
||||
return this.tileFactoryInfo;
|
||||
}
|
||||
}
|
||||
|
||||
@ -394,107 +394,7 @@ public class WebMapLayer extends MapLayer {
|
||||
* @param prov The web map provider
|
||||
*/
|
||||
public void setWebMapProvider(WebMapProvider prov) {
|
||||
TileFactoryInfo info = null;
|
||||
switch (prov) {
|
||||
// case SwingLabsBlueMarble:
|
||||
// setTileFactory(new CylindricalProjectionTileFactory());
|
||||
// setZoom(3);
|
||||
// return;
|
||||
case OpenStreetMap:
|
||||
info = new OpenStreetMapInfo();
|
||||
break;
|
||||
case OpenStreetMapQuestSatellite:
|
||||
info = new OpenStreetMapQuestSatelliteInfo();
|
||||
break;
|
||||
case BingMap:
|
||||
info = new BingMapInfo();
|
||||
break;
|
||||
case BingSatelliteMap:
|
||||
info = new BingSatelliteMapInfo();
|
||||
break;
|
||||
case BingHybridMap:
|
||||
info = new BingHybridMapInfo();
|
||||
break;
|
||||
// case OviMap:
|
||||
// info = new OviMapInfo();
|
||||
// break;
|
||||
// case OviSatelliteMap:
|
||||
// info = new OviSatelliteMapInfo();
|
||||
// break;
|
||||
// case OviTerrainMap:
|
||||
// info = new OviTerrainMapInfo();
|
||||
// break;
|
||||
// case OviHybridMap:
|
||||
// info = new OviHybridMapInfo();
|
||||
// break;
|
||||
case YahooMap:
|
||||
info = new YahooMapInfo();
|
||||
break;
|
||||
case YahooSatelliteMap:
|
||||
info = new YahooSatelliteMapInfo();
|
||||
break;
|
||||
case YahooHybridMap:
|
||||
info = new YahooHybridMapInfo();
|
||||
break;
|
||||
case GoogleMap:
|
||||
info = new GoogleMapInfo();
|
||||
break;
|
||||
case GoogleSatelliteMap:
|
||||
info = new GoogleSatelliteMapInfo();
|
||||
break;
|
||||
case GoogleTerrainMap:
|
||||
info = new GoogleTerrainMapInfo();
|
||||
break;
|
||||
case GoogleHybridMap:
|
||||
info = new GoogleHybridMapInfo();
|
||||
break;
|
||||
case GoogleHybridTerrainMap:
|
||||
info = new GoogleHybridTerrainMapInfo();
|
||||
break;
|
||||
// case BaiduMap:
|
||||
// info = new BaiduMapInfo();
|
||||
// break;
|
||||
// case BaiduSatelliteMap:
|
||||
// info = new BaiduSatelliteMapInfo();
|
||||
// break;
|
||||
case AMap:
|
||||
info = new AMapInfo();
|
||||
break;
|
||||
case ASatelliteMap:
|
||||
info = new ASatelliteMapInfo();
|
||||
break;
|
||||
case AHybridMap:
|
||||
info = new AHybridMapInfo();
|
||||
break;
|
||||
case TencentMap:
|
||||
info = new TencentMapInfo();
|
||||
break;
|
||||
case GeoQMap:
|
||||
info = new GeoQMapInfo();
|
||||
break;
|
||||
case GeoQGrayMap:
|
||||
info = new GeoQGrayMapInfo();
|
||||
break;
|
||||
case GeoQBlueMap:
|
||||
info = new GeoQBlueMapInfo();
|
||||
break;
|
||||
case GeoQWarmMap:
|
||||
info = new GeoQWarmMapInfo();
|
||||
break;
|
||||
case CMA_CVA_MAP:
|
||||
info = new CMACvaMapInfo();
|
||||
break;
|
||||
case CMA_VEC_MAP:
|
||||
info = new CMAVecMapInfo();
|
||||
break;
|
||||
case CMA_IMG_MAP:
|
||||
info = new CMAImgMapInfo();
|
||||
break;
|
||||
// case ArcGISImage:
|
||||
// info = new ArcGISImageInfo();
|
||||
// break;
|
||||
}
|
||||
|
||||
TileFactoryInfo info = prov.getTileFactoryInfo();
|
||||
if (info != null) {
|
||||
this.defaultProvider = prov;
|
||||
this.setLayerName("WebMap_" + info.getName());
|
||||
|
||||
@ -8,5 +8,5 @@
|
||||
<ScriptLanguage Language="Jython"/>
|
||||
<LookFeel LafDecorated="true" Name="FlatLightLaf"/>
|
||||
<Figure DoubleBuffering="true"/>
|
||||
<Startup MainFormLocation="-7,-7" MainFormSize="1293,685" ShowMeteoDataDlg="true"/>
|
||||
<Startup MainFormLocation="-5,1" MainFormSize="1293,685" ShowMeteoDataDlg="true"/>
|
||||
</MeteoInfo>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user