2014-12-16 2 views
0

У меня есть маркер, который по сути является миниатюром. Так что я хотел бы знать, можно ли нажать на миниатюру и отобразить увеличенное изображение, вроде как взорвать его или увеличить в миниатюре? Извините за короткий вопрос. На данный момент у меня нет кода для этого, но если кто-то может помочь, я отправлю код по мере продвижения.Можно ли использовать маркер (уменьшенное изображение) в Google Maps api v2 и увеличить «увеличить»

Намерение Камера:

Intent getCameraImage = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
     getApplicationContext().getDir(
       getResources().getString(R.string.app_name), MODE_PRIVATE); 

     fileUri = Uri.fromFile(new File((Environment.getExternalStorageDirectory() + 
       "/" +getResources().getString(R.string.app_name)),new Date().getTime() + ".jpg")); 

      getCameraImage.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); 

     startActivityForResult(getCameraImage, TAKE_PICTURE); 

     }  

onActivityResult

try { 
        GetImageThumbnail getImageThumbnail = new GetImageThumbnail(); 
        bitmap = getImageThumbnail.getThumbnail(fileUri, this); 
       } catch (FileNotFoundException e1) { 
        e1.printStackTrace(); 
       } catch (IOException e1) { 
        e1.printStackTrace(); 
       } 
       { 


       MarkerOptions markerOptions = new MarkerOptions() 
      .position(theLastPlaceThatTheUserLongClicked) 
      .icon(BitmapDescriptorFactory 
      .fromBitmap(bitmap)); 
      googleMap.addMarker(markerOptions); 
      } 
     } 
} 

showFullImage

public void showFullImage(View view) { 
String path = (String) view.getTag(); 

if (path != null) { 

    Intent intent = new Intent(); 
    intent.setAction(Intent.ACTION_VIEW); 
    Uri imgUri = Uri.parse("file://" + path); 
    intent.setDataAndType(imgUri, "image/*"); 
    startActivity(intent); 
    } 
} 
} 

Так как я могу реализовать showFullImage в onMarkerClick

onMarkerClick

@Override 
     public boolean onMarkerClick(final Marker marker) { 
    return false; 
} 

ответ

0

Что вы можете сделать, это метод

myMarker= map 
      .addMarker(new MarkerOptions() 
        .position(pos) 
        .title(getResources().getString(R.string.reachUs)) 
        .snippet("We are here") 
        .icon(BitmapDescriptorFactory 
          .fromResource(R.drawable.logo_small))); 

вызов setInfoWindowAdapter() на Google карте объекта и установить увеличенное изображение для smae маркера путем удаления его первого

map.setInfoWindowAdapter(new InfoWindowAdapter() { 

     // Use default InfoWindow frame 
     @Override 
     public View getInfoWindow(Marker arg0) { 
      return null; 
     } 

     // Defines the contents of the InfoWindow 
     @Override 
     public View getInfoContents(Marker arg0) { 

     myMarker.remove(); 
     myMarker= map 
      .addMarker(new MarkerOptions() 
        .position(pos) 
        .title(getResources().getString(R.string.reachUs)) 
        .snippet("We are here") 
        .icon(BitmapDescriptorFactory 
          .fromResource(R.drawable.logo_large))); 

      return v; 

     } 
    }); 

также если вы хотите снова уменьшить его, используйте переключатель или флаг, чтобы снова установить небольшое изображение.

Просто используйте удалить() на маркере, и он будет работать

+0

Спасибо, проблема у меня есть, хотя это маркер добавляется с помощью намерения камеры, а затем возвращается через 'onActivityResult' в виде эскиза с отдельным классом. Затем маркер (миниатюра) помещается на карту в этой точке. Теперь у меня есть этот код, который, я думаю, будет работать, чтобы отобразить полное изображение маркера с соответствующими изображениями. Я хотел бы знать, как я могу реализовать это в 'onMarkerClick', я обновил свой код. – Allrounder

0

Вы должны обработать событие маркера щелчка и получить изображение

myMap.setOnMarkerClickListener(MarkerClickListener); 

Тогда вы должны получить изображение от маркеров и отображения в индивидуальном изображение. Для масштабирования или продувки изображения, которое вы можете использовать любого сигналя API для изображений Like Here

Смежные вопросы