2015-03-17 8 views
-1

В моем проекте GWT у меня есть карта, которая отображает информационное окно при нажатии пользователем одного из различных маркеров, которые я нанесла на карту. После того, как у меня есть координаты, mark_coords, это то, как я добавляю InfoWindow:GWT: Добавление обработчика кликов к инфо-окну - с помощью Google Maps V1

     map.getInfoWindow().open(mark_coords, 
           new InfoWindowContent(name + "<br />" + description)); 

Я хочу, чтобы добавить иконку в InfoWindow, который кликабельны. Однако я не могу найти документацию о том, как это сделать, используя Google Maps V1 без различных библиотек.

Если у кого-то есть предложения, было бы очень признательно!

ответ

0

Вы можете добавить XML-файл с ImageView и setOnClickListener для ImageView.

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 
    <ImageView 
     android:id="[email protected]/imageView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="5dp" 
     android:adjustViewBounds="true" 
     android:src="@drawable/ic_launcher"/> 
</LinearLayout> 

Тогда вы можете создать InfoWindowAdapter и переопределить метод getInfoContents.

class MyInfoWindowAdapter implements InfoWindowAdapter { 

     private final View myContentsView; 

     MyInfoWindowAdapter() { 
      myContentsView = getLayoutInflater().inflate(R.layout.custom_info_contents, null); 
     } 

     @Override 
     public View getInfoContents(Marker marker) { 
     ImageView imageView = ((ImageView)myContentsView.findViewById(R.id.imageView)) 
     imageView.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View arg0) { 

      } 
      }); 

     return myContentsView; 
     } 

     @Override 
     public View getInfoWindow(Marker marker) { 
     // TODO Auto-generated method stub 
     return null; 
     } 

} 

Наконец, вы можете сделать map.setInfoWindowAdapter(new MyInfoWindowAdapter()); назвать свой собственный InfoWindow.

Для получения более подробной информации вы можете посетить this short tutorial.

+0

Хорошо, спасибо за помощь .. но это для проекта GWT, а не для Android. К сожалению, – user2533283

+0

Возможно, вы захотите проверить [этот образец демонстрации] (https://code.google.com/p/gwt- google-apis/source/browse/releases/maps/1.1/samples/hellomaps/src/com/google/gwt/maps/sample/hellomaps/client/InfoWindowDemo.java) для GWT. – ztan