我正在开发一个使用谷歌地图和pubnub来显示标记的应用程序。我有一个包含地图片段的片段。启动应用程序将显示地图片段并订阅pubnub频道。从pubnub接收消息时,我在地图上显示标记,第一次地图显示标记。但是当我用相同的片段替换片段时。 pubnub通道再次是订阅和获取消息,但标记未显示。以下是我的代码。
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() {
@Override
public void onCameraChange(CameraPosition cameraPosition) {
mPubnub.subscribe(channel, new Callback() {
. . .
. . .
@Override
public void successCallback(String channel, Object message) {
if (mMap != null) {
if (message instanceof JSONArray) {
} else if (message instanceof JSONObject) {
updateMarker(message);
} else if (message instanceof String) {
}
}
}
});
}
}
添加或更新标记
mMap.addMarker(new MarkerOptions().title("title").position(latLng).icon(BitmapDescriptorFactory.fromResource(R.drawable.marker)));
取消订阅pubnub
@Override
public void onPause() {
super.onPause();
mPubnub.unsubscribe(channel);
}