ธุรกิจและจุดสนใจอื่นๆ

เลือกแพลตฟอร์ม: Android iOS JavaScript

โดยค่าเริ่มต้น จุดที่น่าสนใจ (POI) จะปรากฏบนแผนที่ฐานพร้อมกับไอคอนที่เกี่ยวข้อง POI ได้แก่ สวนสาธารณะ โรงเรียน อาคารรัฐบาล และอื่นๆ

นอกจากนี้ จุดที่น่าสนใจของธุรกิจจะปรากฏบนแผนที่โดยค่าเริ่มต้นเมื่อประเภทแผนที่เป็น normal POI ของธุรกิจแสดงถึงธุรกิจต่างๆ เช่น ร้านค้า ร้านอาหาร โรงแรม และอื่นๆ POI ของธุรกิจในแผนที่ในอาคาร (แปลนพื้น) จะปรากฏในแผนที่โหมด Lite เท่านั้น

POI จะสอดคล้องกับรหัสสถานที่ตามที่กำหนดไว้ใน 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();
    }
}

      

POI จะปรากฏบนแผนที่โดยค่าเริ่มต้น แต่ไม่มี UI ที่คลิกได้เริ่มต้น กล่าวคือ API จะไม่แสดงหน้าต่างข้อมูลหรืออินเทอร์เฟซผู้ใช้อื่นๆ โดยอัตโนมัติ เมื่อผู้ใช้แตะ POI

ดังตัวอย่างข้างต้น คุณตั้งค่า OnPoiClickListener บนแผนที่ได้โดย เรียก GoogleMap.setOnPoiClickListener(OnPoiClickListener) เมื่อผู้ใช้คลิก (แตะ) จุดที่น่าสนใจ แอปจะได้รับเหตุการณ์ OnPoiClick(PointOfInterest) ซึ่งระบุจุดที่น่าสนใจ (POI) ที่ผู้ใช้คลิก PointOfInterest มีพิกัดละติจูด/ลองจิจูด รหัสสถานที่และชื่อของจุดที่น่าสนใจ

หยุดแสดงจุดที่น่าสนใจบนแผนที่

คุณซ่อนจุดที่น่าสนใจ (POI) ได้โดยใช้รูปแบบที่กำหนดเองกับ POI ทั้งหมดหรือ กับหมวดหมู่ POI ที่เฉพาะเจาะจง

การประกาศรูปแบบ JSON ต่อไปนี้จะซ่อนจุดที่น่าสนใจของธุรกิจทั้งหมดในแผนที่

[
  {
    "featureType": "poi.business",
    "stylers": [
      { "visibility": "off" }
    ]
  }
]

อีกตัวอย่างหนึ่งคือ JSON ต่อไปนี้จะช่วยให้การแสดงหมวดหมู่ทั้งหมดของจุดที่น่าสนใจง่ายขึ้น

[
  {
    "featureType": "poi",
    "stylers": [
      { "visibility": "simplified" }
    ]
  }
]

ดูโค้ด Java และรายละเอียดอื่นๆ ได้ในคู่มือการซ่อนฟีเจอร์ของแผนที่ด้วยการจัดรูปแบบ