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

เลือกแพลตฟอร์ม แอนดรอยด์ iOS JavaScript

โดยค่าเริ่มต้น จุดที่น่าสนใจ (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 และรายละเอียดอื่นๆ ให้ดูคู่มือสำหรับ การซ่อนคุณลักษณะแผนที่ด้วยการจัดรูปแบบ