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

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

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

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

تتوافق نقطة الاهتمام مع رقم تعريف المكان، كما هو محدّد في حزمة تطوير برامج الأماكن لأجهزة 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 وتفاصيل أخرى، يمكنك الاطّلاع على دليل إخفاء ميزات الخريطة بالتصميم.