โดยค่าเริ่มต้น จุดที่น่าสนใจ (POI) จะปรากฏบนแผนที่ฐานพร้อมกับ ที่เกี่ยวข้อง จุดที่น่าสนใจ ได้แก่ สวนสาธารณะ โรงเรียน อาคารหน่วยงานราชการ และ และอีกมากมาย
นอกจากนี้ จุดที่น่าสนใจธุรกิจจะปรากฏบนแผนที่โดยค่าเริ่มต้นเมื่อประเภทแผนที่คือ
normal
จุดที่น่าสนใจของธุรกิจหมายถึง ธุรกิจต่างๆ เช่น ร้านค้า ร้านอาหาร โรงแรม
และอื่นๆ จุดที่น่าสนใจสำหรับธุรกิจในแผนที่ในอาคาร (ผังพื้น) จะปรากฏในแผนที่โหมด Lite เท่านั้น
จุดที่น่าสนใจสอดคล้องกับรหัสสถานที่ตามที่ระบุไว้ใน Places SDK สำหรับ Android ตัวอย่างเช่น สวนสันทนาการคือจุดที่น่าสนใจ แต่ สิ่งต่างๆ เช่น น้ำพุมักไม่ใช่จุดที่น่าสนใจ (เว้นแต่จะเป็นจุดที่น่าสนใจ) หรือสำคัญทางประวัติศาสตร์)
รอรับเหตุการณ์การคลิกในจุดที่น่าสนใจ
ถ้าคุณต้องการตอบกลับเมื่อผู้ใช้แตะจุดที่น่าสนใจ คุณสามารถใช้
OnPoiClickListener
ดังที่แสดงในรหัสต่อไปนี้
ตัวอย่าง:
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() } }
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(); } }
จุดที่น่าสนใจจะปรากฏบนแผนที่โดยค่าเริ่มต้น แต่ไม่มี UI เริ่มต้นเมื่อคลิก นั่นคือ API จะไม่แสดงหน้าต่างข้อมูลหรือผู้ใช้อื่นๆ โดยอัตโนมัติ เมื่อผู้ใช้แตะจุดที่น่าสนใจ
ดังที่แสดงในตัวอย่างข้างต้น คุณสามารถตั้ง
OnPoiClickListener
บนแผนที่โดย
การโทร
GoogleMap.setOnPoiClickListener(OnPoiClickListener)
เมื่อผู้ใช้คลิก (แตะ) จุดที่น่าสนใจ แอปของคุณจะได้รับ
OnPoiClick(PointOfInterest)
เหตุการณ์
ซึ่งระบุจุดที่น่าสนใจ (POI) ที่ผู้ใช้คลิก PointOfInterest
มีพิกัดละติจูด/ลองจิจูด รหัสสถานที่ และชื่อจุดที่น่าสนใจ
หยุดไม่ให้จุดที่น่าสนใจแสดงบนแผนที่
คุณซ่อนจุดที่น่าสนใจ (จุดที่น่าสนใจ) ได้โดยการใช้สไตล์ที่กำหนดเองกับจุดที่น่าสนใจทั้งหมดหรือจุดที่น่าสนใจบางหมวดหมู่
การประกาศรูปแบบ JSON ต่อไปนี้จะซ่อนจุดที่น่าสนใจของธุรกิจทั้งหมดบนแผนที่
[
{
"featureType": "poi.business",
"stylers": [
{ "visibility": "off" }
]
}
]
อีกตัวอย่างหนึ่งคือ JSON ต่อไปนี้ช่วยให้แสดงหมวดหมู่ทั้งหมดได้ง่ายขึ้น ของจุดที่น่าสนใจ:
[
{
"featureType": "poi",
"stylers": [
{ "visibility": "simplified" }
]
}
]
สำหรับโค้ด Java และรายละเอียดอื่นๆ ให้ดูคู่มือสำหรับ การซ่อนคุณลักษณะแผนที่ด้วยการจัดรูปแบบ