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

اختيار النظام الأساسي: 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 وتفاصيل أخرى، اطّلِع على دليل إخفاء عناصر الخريطة باستخدام الأنماط.