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

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

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

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

تتوافق نقطة الاهتمام مع رقم تعريف المكان، كما هو مُوضَّح في حزمة تطوير البرامج (SDK) للأماكن على أجهزة Android. على سبيل المثال، إنّ المتنزهات الترفيهية هي نقاط اهتمام، ولكن بشكل عام، لا تشكّل النوافير المائية نقاط اهتمام (ما لم تكن لها أهمية وطنية أو تاريخية).

الانتباه إلى أحداث النقرات على نقاط الاهتمام

إذا كنت تريد الرد على مستخدم ينقر على نقطة اهتمام، يمكنك استخدام OnPoiClickListener كما هو موضّح في نموذج الرمز التالي:

لغة 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();
    }
}

      

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()
    }
}

      

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

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

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

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

يؤدي إخفاء نمط JSON التالي إلى إخفاء جميع نقاط الاهتمام للنشاط التجاري على الخريطة:

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

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

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

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