这正是标题“试图在空对象引用上调用虚拟方法'void com.google.android.gms.maps.GoogleMap.animateCamera(com.google.android.gms.maps.CameraUpdate)”,按搜索后,突然进入主要活动
logcat错误
$(document).ready(function(){
$(document).on('click', '.my-images', function(e){
processFileUpload($(this));
});
function processFileUpload($img){
$img.attr("src", "images/" + fileName + ".png");
}
});
源代码
E/Response:: [{"lat":"-7.584844","lng":"110.825068","id":"11","nama":"SMK 3 NEGERI SURAKARTA"}]
09-02 20:02:09.557 16955-16955/com.skripsi.axioo.percobaan5 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.skripsi.axioo.percobaan5, PID: 16955
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.maps.GoogleMap.animateCamera(com.google.android.gms.maps.CameraUpdate)' on a null object reference
at com.skripsi.axioo.percobaan5.MapsActivity$3.onResponse(MapsActivity.java:304)
at com.skripsi.axioo.percobaan5.MapsActivity$3.onResponse(MapsActivity.java:276)
尝试搜索第一个解决方案,但主要问题不是这样,这对我来说有点帮助,方法是添加supportfragment Google Map returning nullpointerexception Google Maps Android V2,任何人都可以告诉我,除了logcat以外,最严重的错误在哪里, 这是完整的代码https://pastebin.com/uYPbrAun
答案 0 :(得分:0)
在您的代码中,您有两个GoogleMaps对象: gMap 和 mMap 。正确获取和初始化的是mMap,但是稍后使用gMap放置标记并更新不存在的摄像机,这就是为什么要获得NPE的原因。
选择其中一个,然后删除另一个
答案 1 :(得分:0)
您gMap
为空。您没有初始化它。在onMapReadyMethod()中将其初始化为
......
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
gMap = googleMap; //add this here
.........
}
答案 2 :(得分:0)
@faiizii awan 你的意思是这样的:
mMap = googleMap;
if (lati == null) {
gMap = googleMap;
center = new LatLng(-7.568737, 110.827062);
cameraPosition = new CameraPosition.Builder().target(center).zoom(12).build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
gMap.getUiSettings().setZoomControlsEnabled(true);
gMap.getUiSettings().setRotateGesturesEnabled(true);
gMap.getUiSettings().setScrollGesturesEnabled(true);
gMap.getUiSettings().setTiltGesturesEnabled(true);
getLokasi();
} else {
gMap = googleMap;
center = new LatLng(lati, longi);
cameraPosition = new CameraPosition.Builder().target(center).zoom(12).build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
gMap.getUiSettings().setZoomControlsEnabled(true);
gMap.getUiSettings().setRotateGesturesEnabled(true);
gMap.getUiSettings().setScrollGesturesEnabled(true);
gMap.getUiSettings().setTiltGesturesEnabled(true);
getLokasi();
}