google maps for Android의 infoWindow 맞춤설정
7299 단어 안드로이드자바GoogleMapsAPI
0. 실행 예
1.setInfoWindowAdapter()
GoogleMap.setInfoWindowAdapter()에서 InfoWindowAdapter 인터페이스를 구현한 객체를 설정한다(getInfoWindow() 또는 getContents()를 구현한다).
public class MapsActivity extends AppCompatActivity implements OnMapReadyCallback {
private GoogleMap mMap;
//〜略〜
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker marker) {
return null; //どちらかに処理を記述
}
@Override
public View getInfoContents(Marker marker) {
return null; //どちらかに処理を記述
}
2.InfoWindow 레이아웃 작성
res/layout/에 새롭게 레이아웃 리소스 파일을 작성해, infoWindow의 레이아웃을 기술한다.
res/values/strings.xml도 필요에 따라 설명을 추가합니다.
info_window_ayout.xml<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/iw_1"/>
<TextView
android:id="@+id/tv_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/iw_2"/>
<TextView
android:id="@+id/tv_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/iw_3"/>
<Button
android:id="@+id/bt_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bt_1"/>
</LinearLayout>
strings.xml<resources>
<!-- 〜略〜 -->
<string name="iw_1">1行目の情報</string>
<string name="iw_2">2行目の情報</string>
<string name="iw_3">3行目の情報</string>
<string name="bt_1">ボタンも置ける</string>
</resources>
3.getInfoContents() 구현
@Override
public View getInfoContents(Marker marker) {
View view = getLayoutInflater().inflate(R.layout.info_window_layout,null);
return view;
}
참고
인포 윈도우 사용자 정의
Info Windows | Maps SDK for Android | Google Developers
Reference
이 문제에 관하여(google maps for Android의 infoWindow 맞춤설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sho-h-ei/items/a40f813a5178e716fb8c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
GoogleMap.setInfoWindowAdapter()에서 InfoWindowAdapter 인터페이스를 구현한 객체를 설정한다(getInfoWindow() 또는 getContents()를 구현한다).
public class MapsActivity extends AppCompatActivity implements OnMapReadyCallback {
private GoogleMap mMap;
//〜略〜
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker marker) {
return null; //どちらかに処理を記述
}
@Override
public View getInfoContents(Marker marker) {
return null; //どちらかに処理を記述
}
2.InfoWindow 레이아웃 작성
res/layout/에 새롭게 레이아웃 리소스 파일을 작성해, infoWindow의 레이아웃을 기술한다.
res/values/strings.xml도 필요에 따라 설명을 추가합니다.
info_window_ayout.xml<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/iw_1"/>
<TextView
android:id="@+id/tv_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/iw_2"/>
<TextView
android:id="@+id/tv_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/iw_3"/>
<Button
android:id="@+id/bt_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bt_1"/>
</LinearLayout>
strings.xml<resources>
<!-- 〜略〜 -->
<string name="iw_1">1行目の情報</string>
<string name="iw_2">2行目の情報</string>
<string name="iw_3">3行目の情報</string>
<string name="bt_1">ボタンも置ける</string>
</resources>
3.getInfoContents() 구현
@Override
public View getInfoContents(Marker marker) {
View view = getLayoutInflater().inflate(R.layout.info_window_layout,null);
return view;
}
참고
인포 윈도우 사용자 정의
Info Windows | Maps SDK for Android | Google Developers
Reference
이 문제에 관하여(google maps for Android의 infoWindow 맞춤설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sho-h-ei/items/a40f813a5178e716fb8c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/iw_1"/>
<TextView
android:id="@+id/tv_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/iw_2"/>
<TextView
android:id="@+id/tv_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/iw_3"/>
<Button
android:id="@+id/bt_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bt_1"/>
</LinearLayout>
<resources>
<!-- 〜略〜 -->
<string name="iw_1">1行目の情報</string>
<string name="iw_2">2行目の情報</string>
<string name="iw_3">3行目の情報</string>
<string name="bt_1">ボタンも置ける</string>
</resources>
@Override
public View getInfoContents(Marker marker) {
View view = getLayoutInflater().inflate(R.layout.info_window_layout,null);
return view;
}
참고
인포 윈도우 사용자 정의
Info Windows | Maps SDK for Android | Google Developers
Reference
이 문제에 관하여(google maps for Android의 infoWindow 맞춤설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sho-h-ei/items/a40f813a5178e716fb8c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(google maps for Android의 infoWindow 맞춤설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sho-h-ei/items/a40f813a5178e716fb8c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)