Java mapquest android的利弊
我需要构建一个android地图应用程序,包括标记、多段线、多边形和一些点击监听器。应用程序不得使用谷歌API,而可以使用OSM数据。我有一个自定义的瓷砖服务器,并在应用程序中集成它寻找。我遇到了Mapquest,它同样提供了我需要的东西。我所要知道的就是我是否可以将我自己的tile服务器与之集成。如果您有任何帮助,我们将不胜感激。Mapquest将使用OSMdroid作为底图进行无缝集成。话虽如此,它需要一把钥匙才能工作。下面是我的基本映射切换器(它接收基本映射的索引并相应地进行切换)。您可以很容易地选择在底图之间切换:Java mapquest android的利弊,java,android,openstreetmap,mapquest,Java,Android,Openstreetmap,Mapquest,我需要构建一个android地图应用程序,包括标记、多段线、多边形和一些点击监听器。应用程序不得使用谷歌API,而可以使用OSM数据。我有一个自定义的瓷砖服务器,并在应用程序中集成它寻找。我遇到了Mapquest,它同样提供了我需要的东西。我所要知道的就是我是否可以将我自己的tile服务器与之集成。如果您有任何帮助,我们将不胜感激。Mapquest将使用OSMdroid作为底图进行无缝集成。话虽如此,它需要一把钥匙才能工作。下面是我的基本映射切换器(它接收基本映射的索引并相应地进行切换)。您可以
public boolean mapTileServerSwap() {
boolean flagOK = false;
String[] urlArray = {""};
int mapTileServer = SessionPreferences.mapTileServer;
switch (mapTileServer) {
case(0):
default:
mapView.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE);
flagOK = true;
break;
case(1):
urlArray[0] = "http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/";
mapView.setTileSource(new OnlineTileSourceBase("ArcGIS Online", null, 0, 18, 256, "",
urlArray) {
@Override
public String getTileURLString(MapTile aTile) {
String mImageFilenameEnding = ".png";
return getBaseUrl() + aTile.getZoomLevel() + "/" + aTile.getY() + "/" + aTile.getX()
+ mImageFilenameEnding;
}
});
flagOK = true;
break;
case(2):
urlArray[0] = "http://basemap.nationalmap.gov/ArcGIS/rest/services/USGSTopo/MapServer/tile/";
mapView.setTileSource(new OnlineTileSourceBase("USGS Topo", null, 0, 18, 256, "",
urlArray) {
@Override
public String getTileURLString(MapTile aTile) {
String mImageFilenameEnding = ".png";
return getBaseUrl() + aTile.getZoomLevel() + "/" + aTile.getY() + "/" + aTile.getX()
+ mImageFilenameEnding;
}
});
flagOK = true;
break;
case(3):
mapView.setTileSource(TileSourceFactory.MAPQUESTAERIAL);
flagOK = true;
break;
case(4):
mapView.setTileSource(TileSourceFactory.MAPQUESTOSM);
flagOK = true;
break;
case(5):
//TODO 20160509
// fix copyright and attributions for STAMEN!
urlArray[0] = "http://a.tile.stamen.com/watercolor/";
mapView.setTileSource(new XYTileSource("Stamen WaterColor", null, 0, 18, 256, ".jpg",
urlArray ));
flagOK = true;
break;
case(6):
urlArray[0] = "http://a.stamen.com/terrain/";
mapView.setTileSource(new XYTileSource("Stamen Terrain", null, 0, 18, 256, ".jpg",
urlArray ));
flagOK = true;
break;
}
return flagOK;
}
请阅读。如果当前代码存在特定问题,请询问该特定问题。如果您当前的代码完全按照它应该的方式工作,并且您希望使其更高效,那么请在上向审阅者展示它。如果你希望别人为你写,那么你就上错了网站。这是我们互相帮助的地方,但我们不是为了你。有关堆栈溢出的更多信息,请查看。另外,请查看以查看如何为您的问题提供示例。我的互动程序服务器是XYZ.png格式的示例:{z}/{x}/{y}.png”,我需要与我的应用程序集成。我已将我的代码与您的上述实现附在此处:。帮助我,谢谢!@scai是的,我尝试了上面的链接(tony gil的示例)最后出现了错误。我在这里附上了截图:。我只想删除mapquest地图并替换为我的,我在需要解决问题的地方被卡住了put@himagaran如前所述,请提出一个新问题,因为这是一个不同的问题。让我们。嘿,托尼吉尔,我得到一个无法解决的关键字错误代码中的“.setTileSource”和“SessionPreferences”。请帮助我