我正在創建一個顯示Parse查詢結果的地圖。我可以直接將信息傳遞給標記,例如標題或lat/long,但我希望包含一些額外的信息(不會顯示),當用戶單擊標記時可以使用這些信息。 例如,當用戶點擊標記時,我想從Parse查詢(它只是一個字符串)中查找用戶的objectId。 我試過下面的代碼在標記onClickListener把字符串作爲參數:可以使用地圖標記包含哪些參數
destPosition = marker.getPosition();
destLat = destPosition.latitude;
destLong = destPosition.longitude;
MarkerDialogFragment markerDialogFragment = new MarkerDialogFragment();
Bundle args = new Bundle();
args.putString("id", marker.getId());
args.putString("userId", userId);
args.putString("title", marker.getTitle());
args.putDouble("latitude", destLat);
args.putDouble("longitude", destLong);
markerDialogFragment.setArguments(args);
當我嘗試通過獲取的參數提取的「另一面」這個數據,該用戶ID總是跨爲空...我定義的userid例如:
final String userId = parseUsers.get(i).getObjectId();
我甚至嘗試硬編碼的userid這樣的字符串,它仍然回來爲空,當我試圖得到的參數:
final String userId = "test userId";
下面是標記onCreateDialog方法得到的參數代碼:
builder = new AlertDialog.Builder(getActivity());
final String markerId = getArguments().getString("id");
final String userId = getArguments().getString("userId");
final String title = getArguments().getString("title");
final double destLat = getArguments().getDouble("latitude");
final double destLong = getArguments().getDouble("longitude");
builder.setTitle(title)
當我使用調試器停止代碼,看看這些值,預期所有數據集,我有值除每個項目用戶名。任何人都可以幫助我指出正確的方向嗎?我只是想傳遞一個與變量相關的值,並將其與地圖上創建的每個標記綁定。謝謝!
我想嵌入參考ID到標記信息窗口。當用戶點擊信息窗口時,它應該將參考ID傳遞給新的意圖。我可以在一個片段中傳遞我想要的字符串,但我不希望用戶真正看到這些信息 –