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

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

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

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

POI จะสอดคล้องกับรหัสสถานที่ตามที่กำหนดไว้ใน Places SDK สำหรับ Android ตัวอย่างเช่น สวนสาธารณะเพื่อการพักผ่อนหย่อนใจเป็น POI แต่สิ่งต่างๆ เช่น น้ำพุโดยทั่วไปจะไม่ใช่ POI (เว้นแต่จะมีคุณค่าระดับชาติหรือทางประวัติศาสตร์)

ฟังเหตุการณ์การคลิกใน POI

หากต้องการตอบสนองต่อการแตะ POI ของผู้ใช้ คุณสามารถใช้ 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) เมื่อผู้ใช้คลิก (แตะ) POI แอปจะได้รับเหตุการณ์ OnPoiClick(PointOfInterest) ซึ่งระบุจุดที่น่าสนใจ (POI) ที่ผู้ใช้คลิก The PointOfInterest จะมีพิกัดละติจูด/ลองจิจูด รหัสสถานที่ และชื่อของจุดที่น่าสนใจ

หยุดไม่ให้ POI แสดงบนแผนที่

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

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

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

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

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

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