Articles of google maps android api 2

放大特定路线谷歌地图

我有一个随机纬度和经度点列表,我正在他们之间绘制一条路线。 我的问题是如何在谷歌地图中绑定这条路线,我在实用方法下面做了 public static void drawRouteIntoMap(final List position, final GoogleMap googleMap) { /*List position = new ArrayList(); for (int i = lastPosition; i 0 && Validator.isNotNull(googleMap)) { googleMap.clear(); List polylineOptionses = new ArrayList(); PolylineOptions option = null; Boolean lastPause = null; for (MapHelper map : position) { if (map.isPause()) { if (Validator.isNull(lastPause) || !lastPause) { […]

Google Maps Android API v2在中国 – 地图加载大约需要一个小时

我有什么:使用Android Maps API v2(本机库)的原生Android应用程序 香港和乌克兰的一切都很好。 一旦我们踏入中国边境,问题就出现了。 我们有下一个问题: 地图从30分钟到约1小时。 即使它被加载,地图分辨率也非常低http://img.androidcookie.com/android/d4f40e1a225bd48a90087c39a502e4a6.png Google Map WORKS本身: http : //i.gyazo.com/dc85e3618c285ced5bba799053dd0306.png 我对中国的了解: 谷歌在那里并不友好,但我们的应用程序不是在中国使用谷歌地图的应用程序,所以我的问题可能不是一个新的。 可以选择使用在中国本地托管的谷歌地图 – ditu.google.cn,但是一旦我们使用原生应用,现在就没有选择使用地图的网络视图而不是本地实现(我们有很多自定义) 我知道,最好不要将HTTPS与谷歌地图结合使用(你可以在这里阅读: 中国的Google Maps Geolocation API ) 问题是: 我们能以某种方式改善地图的负荷吗? 我们可以以某种方式覆盖谷歌地图来源以使用ditu.google.cn吗? 我们可以在Map API中以某种方式禁用HTTPS吗? 围绕此问题的任何其他解决方案,可以基于谷歌服务应用。 也许有一些无证的function? 什么是没有想到的答案是“使用百度”。 我知道百度,这是一个veeryyy备份选项,只要他们有一个api docs in chineese。 需要补充的是,基于ditu.google.cn的Geocoding API运行良好。 期待,谢谢!

如何通过短信发送谷歌地图位置信息作为链接

在我正在构建的应用程序中, 我正在尝试将我的位置信息(Lat,Long / Geocoded)发送到我的紧急联系人列表。 我假设我的所有收件人都使用智能手机(Android / iOS) 到目前为止,应用程序通过SMS将我的位置信息作为字符串发送: “I am at: ” + Some Geocoded Location 但是,我认为这不是发送确切位置信息的最佳方式。 所以,我在想是否有可能通过Google Maps API生成地图 精确定位/点,并发送到该地图的链接。 可以在设备级别完成(不联系任何服务器) 或者,这可以通过制作我自己的地图网站来完成吗? 或者,这根本不可能吗? 我也很欣赏更好的方法和建议。 先谢谢你

缩放以适应地图上的所有标记谷歌地图v2

我想设置地图缩放级别以适合地图上的所有标记。 我使用了许多人所说的方法,但它对我不起作用。 它显示了一些其他观点。 if (positions.size() > 0) { final LatLngBounds.Builder builder = new LatLngBounds.Builder(); for (Marker m : positions) { builder.include(m.getPosition()); } builder.include(positions.get(i).getPosition()); } try { googleMap.setOnCameraChangeListener(new OnCameraChangeListener() { @Override public void onCameraChange(CameraPosition arg0) { googleMap.moveCamera(CameraUpdateFactory.newLatLngBounds( builder.build(), UserDataManager.getInstance().getWidth(), UserDataManager.getInstance().getWidth(),0)); googleMap.setOnCameraChangeListener(null); } }); } catch (IllegalStateException e) { // TODO: handle exception final View mapView = […]

Google Maps Android v2中的群集标记

我必须从Google Maps Android v2 API在GoogleMap上放置不同的标记。 问题是多个标记设置为相同的位置(lat / lng),因此用户只能看到“最新”标记。 是否有可能(在最好的情况下:库)从同一区域聚类不同的标记(与缩放级别相关)? 我已经阅读过有关MarkerClusterer的内容 ,但这是专为JavaScript API设计的。

google maps api v2内存不足错误

我的应用程序中存在巨大的内存问题。 我正在使用谷歌地图api v2与ClusterManager和自定义标记。 我通过调用markerOptions.icon(BitmapDescriptorFactory.fromBitmap(bitmap));提供图像markerOptions.icon(BitmapDescriptorFactory.fromBitmap(bitmap)); 对于每个标记,基于其类别。 问题是:在几次屏幕旋转后,我的应用程序因OOM错误而崩溃: 05-14 11:04:12.692 14020-30201/rokask.rideabike E/art﹕ Throwing OutOfMemoryError “Failed to allocate a 4194316 byte allocation with 1627608 free bytes and 1589KB until OOM” 05-14 11:04:12.722 14020-30201/rokask.rideabike E/AndroidRuntime﹕ FATAL EXCEPTION: GLThread 19179 Process: rokask.rideabike, PID: 14020 java.lang.OutOfMemoryError: Failed to allocate a 4194316 byte allocation with 1627608 free bytes and 1589KB until OOM […]

如何使用FusedLocationProviderClient获取GoogleMap中的当前位置

我想获得定期(比如说每2分钟)当前的位置更新,我正在关注官方文档,我编写了这段代码,但它没有每两分钟给出当前的位置更新,甚至在LocationRequest对象中指定我在requestLocationUpdates中传递( ),这里是代码: public class MapsActivity extends FragmentActivity implements OnMapReadyCallback, GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener{ private FusedLocationProviderClient FusedLocationClient; private GoogleApiClient mGoogleApiClient; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_maps); if (mGoogleApiClient == null) { mGoogleApiClient = new GoogleApiClient.Builder(this) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .addApi(LocationServices.API) .build(); } SupportMapFragment map = getSupportFragmentManager().findFragmentById(R.id.map)); map.getMapAsync(this); FusedLocationClient LocationServices.getFusedLocationProviderClient(this); } @Override public void onConnected(Bundle bundle) { FusedLocationClient.getLastLocation() .addOnSuccessListener(this, […]

TileProvider方法getTile – 需要将x和y转换为lat / long

我正在将iOS应用移植到Android,并使用Google Maps Android API v2. 应用程序需要在地图上绘制热图叠加层。 到目前为止,看起来最好的选择是使用TileOverlay并实现自定义TileProvider 。 在方法getTile ,我的方法被赋予x,y和zoom,并且需要以Tile的forms返回位图。 到现在为止还挺好。 我有一组热图项目,我将用它们在位图​​上绘制径向渐变,每个都有一个纬度/经度。 我遇到以下两个任务有问题: 如何确定由x,y和zoom表示的图块是否包含热图项目的纬度/经度? 如何将热图项目的纬度/经度转换为位图的x / y坐标。 感谢您的帮助! UPDATE 感谢MaciejGórski的回答,以及marcin的实现,我能够回答我的问题的前半部分,但我仍然需要第二部分的帮助。 为了澄清,我需要一个函数来返回指定纬度/经度的图块的x / y坐标。 我试图扭转MaciejGórski的计算和marcin的答案而没有运气。 public static Point fromLatLng(LatLng latlng, int zoom){ int noTiles = (1 << zoom); double longitudeSpan = 360.0 / noTiles; double mercator = fromLatitude(latlng.latitude); int y = ((int)(mercator / 360 * noTiles)) […]

谷歌地图Android API v2 SupportMapFragment内存泄漏

使用2个简单的活动。 第一个Activity只包含一个按钮来启动第二个包含地图的Activity: 主要活动: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void goToMap(View view){ //This is just the onClick method for the button Intent intent=new Intent( this, BigMapTest.class); startActivity(intent); } 地图活动: public class BigMapTest extends FragmentActivity { SupportMapFragment mapFragment; GoogleMap map; @Override protected void onCreate(Bundle arg0) { […]

Google地图的夜间模式?

我的问题很简单。 谷歌地图有夜间模式吗? 到目前为止,我只能申请GoogleMap.MAP_TYPE_NORMAL | GoogleMap.MAP_TYPE_TERRAIN | GoogleMap.MAP_TYPE_SATELLITE但无法find夜间模式 。 我想要这样的东西 请不要建议我使用叠加 ,我已经尝试过了。 我无法使用它,因为我必须在上面放置标记。 碰到这篇文章,但它已经2岁了,我想应该有一些改进。