近日项目需要,需要使用腾讯地图SDK进行二次开发,加载Geoserver发布的影像图层。现在就将加载过程记录一下。注:以腾讯地图官方文档为参考。
最终的效果:

首先需要在腾讯地图官网申请KEY值,申请过程请看官方文档中的介绍。加载图层的主要文档在Android地图SDK文档中“自定义瓦片层”章节。
首先准备一个实体类和一个工具类。
PositionModel:
public class PositionModel {
private double wgLat;
private double wgLon;
public PositionModel(double wgLat, double wgLon) {
setWgLat(wgLat);
setWgLon(wgLon);
}
public double getWgLat() {
return wgLat;
}
public void setWgLat(double wgLat) {
this.wgLat = wgLat;
}
public double getWgLon() {
return wgLon;
}
public void setWgLon(double wgLon) {
this.wgLon = wgLon;
}
@Override
public String toString() {
return wgLat + "," + wgLon;
}
}
PositionUtil:
public class PositionUtil {
public static final String BAIDU_LBS_TYPE = "bd09ll";
public static double pi = 3.1415926535897932384626;
public static double a = 6378245.0;
public static double ee = 0.00669342162296594323;
/**
* * 火星坐标系 (GCJ-02) to 84 * * @param longitude * @param latitude * @return
*/
public static PositionModel gcj_To_Gps84(double lat, double lon) {
PositionModel gps = transform(lat, lon);
double lontitude = lon * 2 - gps.getWgLon();
double latitude = lat * 2 - gps.getWgLat();
return new PositionModel(latitude, lontitude);
}
public static boolean outOfChina(double lat, double lon) {
if (lon < 72.004 || lon > 137.8347)
return true;
if (lat < 0.8293 || lat > 55.8271)
return true;
return false;
}
public static PositionModel transform(double lat, double lon) {
if (outOfChina(lat, lon)) {
return new PositionModel(lat, lon);

本文介绍了如何在Android项目中使用腾讯地图SDK,通过自定义瓦片层加载由Geoserver发布的影像图层,涉及坐标转换、TileProvider定制和地图添加过程。
最低0.47元/天 解锁文章
1689

被折叠的 条评论
为什么被折叠?



