选择手机里安装的外部地图应用,在外部地图应用里显示商户的位置。
Uri mUri = Uri.parse("geo:39.922840,116.3543240?q=39.922840,116.3543240(北京市西城区阜外大街2号万通大厦)");
Intent mIntent = new Intent(Intent.ACTION_VIEW,mUri);
startActivity(mIntent);
用这段代码可以在图吧 高德地图中显示准确的位置。谷歌地图也能显示,但是感觉有一点的偏差,偏差不是很大。
唯独百度地图不能显示,经过地图缩小,发现显示位置在北极之外,从而发现是经纬度需要调换位置才能实现。
于是对百度地图单独尝试了一次
Uri uri = Uri.parse("geo:116.3543240,39.922840,北京市西城区阜外大街2号万通大厦");
intent.setData(uri);
intent.setPackage("com.baidu.Baidu
Map");
startActivity(intent);
这段代码可以显示位置,偏差有点大,大概有一条街的差距。
另外,还发现百度地图不同版本显示也有问题,3.x版本,用第一段代码显示是没有误差的,现在的4.x版本直接把经纬度错位了,部知道各位对此有没有什么高见,如何才能调用同时兼容3.x和4.x的百度地图呢。