الأنشطة التجارية ونقاط الاهتمام الأخرى

اختيار النظام الأساسي: Android iOS JavaScript

تظهر نقاط الاهتمام تلقائيًا على الخريطة الأساسية مع رموزها المقابلة. تشمل نقاط الاهتمام المتنزّهات والمدارس والمباني الحكومية وغيرها.

بالإضافة إلى ذلك، تظهر نقاط الاهتمام التجارية تلقائيًا على الخريطة عندما يكون نوع الخريطة هو normal. تمثّل نقاط الاهتمام التجارية الأنشطة التجارية، مثل المتاجر والمطاعم والفنادق وغيرها. لا تظهر نقاط الاهتمام الخاصة بالأنشطة التجارية على الخرائط الداخلية (مخططات الطوابق) إلا على خريطة الوضع البسيط.

يقابل نقطة الاهتمام رقم تعريف مكان، كما هو محدّد في حزمة تطوير البرامج (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();
    }
}

      

تظهر نقاط الاهتمام على الخريطة تلقائيًا، ولكن لا تتوفّر واجهة مستخدم تلقائية عند النقر. وهذا يعني أنّ واجهة برمجة التطبيقات لا تعرض تلقائيًا نافذة معلومات أو أي واجهة مستخدم أخرى عندما ينقر المستخدم على نقطة اهتمام.

كما يوضّح العيّنة أعلاه، يمكنك ضبط OnPoiClickListener على الخريطة من خلال استدعاء GoogleMap.setOnPoiClickListener(OnPoiClickListener). عندما ينقر مستخدم على نقطة اهتمام، يتلقّى تطبيقك حدث OnPoiClick(PointOfInterest) الذي يشير إلى نقطة الاهتمام التي نقر عليها المستخدم. يحتوي الرمز PointOfInterest على إحداثيات خط العرض/خط الطول، ومعرّف المكان واسم نقطة الاهتمام.

إيقاف عرض نقاط الاهتمام على الخريطة

يمكنك إخفاء نقاط الاهتمام من خلال تطبيق أنماط مخصّصة على جميع نقاط الاهتمام أو على فئات معيّنة من نقاط الاهتمام.

يخفي تعريف نمط JSON التالي جميع نقاط الاهتمام الخاصة بالأنشطة التجارية على الخريطة:

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

في ما يلي مثال آخر، يبسط تنسيق JSON التالي عرض جميع فئات النقاط الجغرافية المهمة:

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

للحصول على رمز Java وتفاصيل أخرى، اطّلِع على دليل إخفاء عناصر الخريطة باستخدام الأنماط.