我正在尝试获取我的Android手机的当前位置并在地图上显示。它适用于其他设备,但我的设备仅显示世界地图,只要我的设备的GPS已打开。这是我的代码:
if(locationManagerCheck .isLocationServiceAvailable()){
if (googleMap == null) {
try {
googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
} catch (Exception e) {
Toast.makeText(getApplicationContext(),
e.getMessage(), Toast.LENGTH_SHORT)
.show();
}
if (googleMap == null) {
Toast.makeText(getApplicationContext(),
"Harita oluşturulamadı", Toast.LENGTH_SHORT)
.show();
} else {
googleMap.setMyLocationEnabled(true);
googleMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {
@Override
public void onMyLocationChange(Location location) {
double latitude = location.getLatitude();
double longitude = location.getLongitude();
LatLng latLng = new LatLng(latitude, longitude);
googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 15));
googleMap.setOnMyLocationChangeListener(null);
// MarkerOptions marker = new MarkerOptions().position(new LatLng(latitude, longitude)).title("Konumunuz");
//marker.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_YELLOW));
//googleMap.addMarker(marker);
}
});
}}
}else{
locationManagerCheck .createLocationServiceError(Anasayfa.this);
}
请指南。
答案 0 :(得分:0)
检查以下所有条件:
1)你需要在谷歌开发者控制台上创建android map api密钥。 https://developers.google.com/maps/documentation/javascript/get-api-key
2)如果您已经创建了api密钥,那么请检查您是否在密钥文件中粘贴了相同的密钥。
如果您是通过android studio创建的,则“res / values / google_maps_api.xml”是您需要粘贴密钥的文件。
3)如果满足以上两个条件,则在控制台上检查您在生成密钥时粘贴了正确的Sh1指纹和包名称。您可以在google_maps_api.xml文件中找到您的Sh1和包名称。
4)如果检查了上述所有条件,那么检查您是否拥有清单文件中的使用权限。?
5)如果上面的所有内容都没问题,那么粘贴你的logcat或错误。 那么只有SO可以帮助你更多。
根据您的使用情况,您需要提供“互联网”权限并访问“精细或粗略位置”或两者。
如果您想了解如何获取用户当前位置的信息,请查看以下链接: https://developer.android.com/training/location/retrieve-current.html
或搜索SO你会发现很多ans。