Вам не нужно создавать новый Hashtable и инициализировать его тем, который вы получаете из намерения. Это:
placemarkOnMap = new Hashtable<String, Hashtable<String,String>> ((Hashtable<String, Hashtable<String,String>>)data);
можно заменить на:
placemarkOnMap = (Hashtable<String, Hashtable<String,String>>)data;
Кроме этого, убедитесь, что в вашем Hashtable есть значения прямо перед тем, как вы поместите его в намерение. Поскольку что-то получает десериализацию для «placemarkOnMap», это означает, что вы что-то положили туда, но это было пусто.