:안드로이드 - NullPointerException이
protected static GoogleMap map;
protected static MarkerOptions markerOptions;
private OnMarkerCreateListener listener;
public LazyMarker(GoogleMap map, MarkerOptions options) {
this(map, options, null);
}
public LazyMarker(GoogleMap map, MarkerOptions options, OnMarkerCreateListener listener) {
if (options.isVisible()) {
createMarker(map, options, listener);
} else {
this.map = map;
this.markerOptions = copy(options);
this.listener = listener;
}
}
내가 추측하고있어이 관련이있다 : 여기
if (options.isVisible()) {
코드의 블록 MarkerOptions 변수와 함께 있지만 초기화되지 않기 때문에 깨는 지 확실하지 않습니다? 어떤 도움이라도 대단히 감사하겠습니다.
예를 널 체크를해야 새로운
MarkerOptions()
및에 합격했다! 'LazyMarker' 인스턴스를 생성 할 때'MarkerOptions'의 널 참조를 전달하고 있습니다. – yugidroid
일부 코드를 사용하는 경우 우선 나쁜 방법으로 수정하지 마십시오. '정체 된 정적'좋은 이유로 인해 '비공개'정적이있었습니다. 이 변경은 아마도 문제의 근본 원인 일 수 있습니다. 어쨌든이 클래스를 직접 사용한다면'LazyMarker'를 만들 때 올바른 인수를 보내십시오. '새로운 MarkerOptions(). position (new LatLng (30, 30)) '과 같은 것입니다. 이 클래스를 Android Maps Extensions의 일부로 사용하는 경우 올바른 arguemtnt를 'GoogleMap.addMarker (MarkerOptions)'에 보냅니다. –