โดยค่าเริ่มต้น จุดสนใจ (POI) จะปรากฏในแผนที่พื้นฐานพร้อมกับไอคอนที่เกี่ยวข้อง จุดที่น่าสนใจ ได้แก่ สวนสาธารณะ โรงเรียน อาคารรัฐบาล และอื่นๆ
นอกจากนี้ จุดที่น่าสนใจของธุรกิจจะปรากฏโดยค่าเริ่มต้นบนแผนที่เมื่อประเภทแผนที่คือ
normal
จุดที่น่าสนใจของธุรกิจแสดงถึงธุรกิจต่างๆ เช่น ร้านค้า ร้านอาหาร โรงแรม และอื่นๆ จุดที่น่าสนใจของธุรกิจในแผนที่ในอาคาร (แผนผังชั้น) จะปรากฏในแผนที่โหมด Lite เท่านั้น
จุดที่น่าสนใจสอดคล้องกับรหัสสถานที่ตามที่ระบุใน SDK สถานที่สําหรับ Android เช่น สวนสาธารณะเพื่อสันทนาการเป็นจุดที่น่าสนใจ แต่สิ่งต่างๆ เช่น น้ําพุไม่ใช่จุดที่น่าสนใจ (เว้นแต่จะเป็นจุดสําคัญของประเทศหรือในประวัติศาสตร์)
ฟังเหตุการณ์การคลิกในจุดที่น่าสนใจ
หากต้องการตอบกลับผู้ใช้ที่แตะจุดที่น่าสนใจ ให้ใช้ OnPoiClickListener
ดังที่แสดงในตัวอย่างโค้ดต่อไปนี้
Java
class OnPoiClickDemoActivity extends AppCompatActivity implements OnMapReadyCallback, GoogleMap.OnPoiClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.poi_click_demo); SupportMapFragment mapFragment; mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); mapFragment.getMapAsync(this); } @Override public void onMapReady(GoogleMap map) { map.setOnPoiClickListener(this); } @Override public void onPoiClick(PointOfInterest poi) { Toast.makeText(this, "Clicked: " + poi.name + "\nPlace ID:" + poi.placeId + "\nLatitude:" + poi.latLng.latitude + " Longitude:" + poi.latLng.longitude, Toast.LENGTH_SHORT).show(); } }
Kotlin
internal class OnPoiClickDemoActivity : AppCompatActivity(), OnMapReadyCallback, OnPoiClickListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.poi_click_demo) val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment mapFragment.getMapAsync(this) } override fun onMapReady(map: GoogleMap) { map.setOnPoiClickListener(this) } override fun onPoiClick(poi: PointOfInterest) { Toast.makeText(this, """Clicked: ${poi.name} Place ID:${poi.placeId} Latitude:${poi.latLng.latitude} Longitude:${poi.latLng.longitude}""", Toast.LENGTH_SHORT ).show() } }
จุดที่น่าสนใจจะปรากฏในแผนที่โดยค่าเริ่มต้น แต่ไม่มี UI เมื่อคลิกเริ่มต้น กล่าวคือ API จะไม่แสดงหน้าต่างข้อมูลหรืออินเทอร์เฟซผู้ใช้อื่นๆ โดยอัตโนมัติเมื่อผู้ใช้แตะจุดที่น่าสนใจ
จากตัวอย่างข้างต้น คุณตั้งค่า OnPoiClickListener
ในแผนที่โดยเรียกใช้ GoogleMap.setOnPoiClickListener(OnPoiClickListener)
เมื่อผู้ใช้คลิก (แตะ) ในจุดที่น่าสนใจ แอปของคุณจะได้รับเหตุการณ์ OnPoiClick(PointOfInterest)
ซึ่งระบุจุดสนใจ (POI) ที่ผู้ใช้คลิก PointOfInterest
มีพิกัดละติจูด/ลองจิจูด รหัสสถานที่ และชื่อจุดสนใจ
หยุดแสดงจุดที่น่าสนใจบนแผนที่
คุณซ่อนจุดสนใจ (POI) ได้โดยใช้รูปแบบที่กําหนดเองกับจุดที่น่าสนใจทั้งหมดหรือกับจุดที่น่าสนใจบางหมวดหมู่
การประกาศรูปแบบ JSON ต่อไปนี้จะซ่อนจุดที่น่าสนใจของธุรกิจทั้งหมดบนแผนที่
[
{
"featureType": "poi.business",
"stylers": [
{ "visibility": "off" }
]
}
]
อีกตัวอย่างหนึ่ง JSON ต่อไปนี้จะช่วยลดความซับซ้อนในการแสดงหมวดหมู่จุดที่น่าสนใจทุกประเภท
[
{
"featureType": "poi",
"stylers": [
{ "visibility": "simplified" }
]
}
]
สําหรับโค้ด Java และรายละเอียดอื่นๆ โปรดดูคู่มือการซ่อนฟีเจอร์แผนที่ด้วยการจัดรูปแบบ