gpt4 book ai didi

android - 中国的 Google Maps Android API v2 - map 加载大约需要一个小时

转载 作者:可可西里 更新时间:2023-11-01 19:08:14 26 4
gpt4 key购买 nike

我所拥有的:使用 Android Maps API v2( native 库)的 native android 应用

在香港和乌克兰,一切都很好。一踏入中国边境,问题就来了。我们有下一个问题:

我对中国的了解:

  • 谷歌在那里不是很友好,但我们的应用不是在中国使用谷歌地图的应用,所以我的问题可能不是新问题。
  • 可以选择使用在中国本地托管的谷歌地图 - ditu.google.cn,但是一旦我们使用 native 应用程序,现在就没有选择使用 map 的 WebView 而不是 native 实现(我们有很多定制)
  • 我知道,最好不要对 Google map 使用 HTTPS(您可以在这里阅读:Google Maps Geolocation API for China)

问题是:

  • 我们能否以某种方式改善 map 的负载?我们能否以某种方式覆盖 google map 源以使用 ditu.google.cn?
  • 我们能否以某种方式在 Map API 中禁用 HTTPS?
  • 围绕此问题的任何其他解决方案,可以基于 google 服务应用。也许有一些未记录的功能?

没想到答案是“用百度”之类的。我知道百度,只要他们有中文的 api 文档,这就是一个 veeerryyy 备份选项。

需要补充的是,基于ditu.google.cn的Geocoding API很好用。

期待,谢谢!

最佳答案

也许您无法覆盖原始图 block 源。但是您可以使用 TileOverlay 从外部服务器获取 map 图 block 。

使用示例:

TileProvider tileProvider = new UrlTileProvider(256, 256) {

//...

@Override
public URL getTileUrl(int x, int y, int zoom) {

/* Define the URL pattern for the tile images */
String s = String.format("http://my.image.server/images/%d/%d/%d.png",
zoom, x, y);

if (!checkTileExists(x, y, zoom)) {
return null;
}

try {
return new URL(s);
} catch (MalformedURLException e) {
throw new AssertionError(e);
}
}

//...

}

您可以将my.image.server替换为ditu.google.cn,并使用外部服务器API获取瓦片图片。在 map 中,您可以设置 OnCameraChangeListener ,因此应用程序会在 map 缩放或平移时从外部服务器加载图 block 。

阅读更多:https://developers.google.com/maps/documentation/android/tileoverlay

关于android - 中国的 Google Maps Android API v2 - map 加载大约需要一个小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26524554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com