لإضافة علامات متقدّمة إلى خريطة، أنشئ مثيلاً جديدًا من
AdvancedMarkerOptions
ثم استخدِم
GoogleMap.addMarker()
لإضافة العلامة:
Kotlin
private val SYDNEY = LatLng(-33.87365, 151.20689)
val marker: Marker? = map.addMarker( AdvancedMarkerOptions() .position(SYDNEY) .iconView(textView) .zIndex(zIndex) )
جافا
private final LatLng SYDNEY = new LatLng(-33.87365, 151.20689);
Marker marker = map.addMarker( new AdvancedMarkerOptions() .position(SYDNEY) .iconView(textView) .zIndex(zIndex));
تعرض GoogleMap.addMarker() مثيلاً من
Marker.
ويمكنك تحويل القيمة المعروضة إلى AdvancedMarker إذا لزم الأمر.
استخدِم AdvancedMarkerOptions لضبط العلامات المتقدّمة.
AdvancedMarkerOptions هي فئة فرعية من
MarkerOptions،
لذا تتيح استخدام جميع الإعدادات نفسها التي تتيحها MarkerOptions.
يتيح لك "AdvancedMarkerOptions" أيضًا إجراء ما يلي:
أنشئ مثيلاً لفئة
PinConfig، ثم استخدِم مثيلPinConfigلضبط مثيلAdvancedMarkerOptions.استخدِم
PinConfigلتخصيص خصائص العلامات المتقدّمة، مثل لون الخلفية ولون الحدود والرمز الرسومي.أنشئ مثيلاً لفئة
Viewفي Android واستخدم هذا المثيل لضبط مثيلAdvancedMarkerOptions.يتيح لك مثيل View تخصيص العلامة بالكامل.
استخدام PinConfig
تحتوي الفئة PinConfig على خيارات لتخصيص
العلامات المتقدّمة. استخدِم PinConfig لتنفيذ ما يلي:
- تغيير لون الخلفية
- تغيير لون الحدود
- تغيير لون الرمز أو إضافة نص
- إخفاء الرمز
استخدِم PinConfig.Builder
لإنشاء مثيل من PinConfig:
Kotlin
// Use PinConfig.Builder to create an instance of PinConfig. val pinConfigBuilder: PinConfig.Builder = PinConfig.builder() pinConfigBuilder.setBackgroundColor(Color.MAGENTA) val pinConfig: PinConfig = pinConfigBuilder.build()// Use the PinConfig instance to set the icon for AdvancedMarkerOptions. val advancedMarkerOptions: AdvancedMarkerOptions = AdvancedMarkerOptions() .icon(BitmapDescriptorFactory.fromPinConfig(pinConfig)) .position(MARKER_POSITION)
// Pass the AdvancedMarkerOptions instance to addMarker(). val marker: Marker? = map.addMarker(advancedMarkerOptions)
جافا
// Use PinConfig.Builder to create an instance of PinConfig. PinConfig.Builder pinConfigBuilder = PinConfig.builder(); pinConfigBuilder.setBackgroundColor(Color.MAGENTA); PinConfig pinConfig = pinConfigBuilder.build();
// Use the PinConfig instance to set the icon for AdvancedMarkerOptions. AdvancedMarkerOptions advancedMarkerOptions = new AdvancedMarkerOptions() .icon(BitmapDescriptorFactory.fromPinConfig(pinConfig)) .position(MARKER_POSITION);
// Pass the AdvancedMarkerOptions instance to addMarker(). Marker marker = map.addMarker(advancedMarkerOptions);
تغيير لون الخلفية
استخدِم طريقة PinConfig.background() لتغيير لون خلفية العلامة:
Kotlin
// Use PinConfig.Builder to create an instance of PinConfig. val pinConfigBuilder: PinConfig.Builder = PinConfig.builder() pinConfigBuilder.setBackgroundColor(Color.MAGENTA) val pinConfig: PinConfig = pinConfigBuilder.build()
جافا
// Use PinConfig.Builder to create an instance of PinConfig. PinConfig.Builder pinConfigBuilder = PinConfig.builder(); pinConfigBuilder.setBackgroundColor(Color.MAGENTA); PinConfig pinConfig = pinConfigBuilder.build();
تغيير لون الحدود
استخدِم طريقة PinConfig.borderColor() لتغيير لون حدود العلامة:
Kotlin
// Set the border color. val pinConfigBuilder: PinConfig.Builder = PinConfig.builder() pinConfigBuilder.setBorderColor(Color.BLUE) val pinConfig: PinConfig = pinConfigBuilder.build()
جافا
// Set the border color. PinConfig.Builder pinConfigBuilder = PinConfig.builder(); pinConfigBuilder.setBorderColor(Color.BLUE); PinConfig pinConfig = pinConfigBuilder.build();
تغيير الرمز
أنشئ مثيلاً من Glyph، ثم استخدِم هذا المثيل لضبط PinConfig.
استخدِم الرمز لضبط نص الرمز ولونه، أو لتحديد صورة مخصّصة لاستخدامها كرمز.
يضبط المثال التالي نص الرمز:
Kotlin
// Set the glyph text. val pinConfigBuilder: PinConfig.Builder = PinConfig.builder() val glyphText = Glyph("A")
// Alternatively, you can set the text color: // Glyph glyphText = new Glyph("A", Color.GREEN);
pinConfigBuilder.setGlyph(glyphText) val pinConfig: PinConfig = pinConfigBuilder.build()
جافا
// Set the glyph text. PinConfig.Builder pinConfigBuilder = PinConfig.builder(); PinConfig.Glyph glyphText = new PinConfig.Glyph("A");
// Alternatively, you can set the text color: // PinConfig.Glyph glyphText = new PinConfig.Glyph("A", Color.GREEN);
pinConfigBuilder.setGlyph(glyphText); PinConfig pinConfig = pinConfigBuilder.build();
اضبط لون الرمز:
Kotlin
val glyphColor = PinConfig.Glyph(Color.BLUE) pinConfigBuilder.setGlyph(glyphColor) val pinConfig: PinConfig = pinConfigBuilder.build()
جافا
PinConfig.Glyph glyphColor = new PinConfig.Glyph(Color.BLUE); pinConfigBuilder.setGlyph(glyphColor); PinConfig pinConfig = pinConfigBuilder.build();
يضبط هذا الإجراء صورة مخصّصة للرمز. هذه الطريقة مفيدة إذا كنت تريد استخدام شعار مخصّص أو مؤشر مرئي آخر في العلامة.
Kotlin
// Set the glyph image. val glyphImage: Int = R.drawable.example_image val descriptor = PinConfig.BitmapDescriptorFactory.fromResource(glyphImage) pinConfigBuilder.setGlyph(Glyph(descriptor)) val pinConfig: PinConfig = pinConfigBuilder.build()
جافا
// Set the glyph image. int glyphImage = R.drawable.example_image; BitmapDescriptor descriptor = BitmapDescriptorFactory.fromResource(glyphImage); pinConfigBuilder.setGlyph(new PinConfig.Glyph(descriptor)); PinConfig pinConfig = pinConfigBuilder.build();
إخفاء الرمز
يمكنك إخفاء الرمز لملء العلامة بالكامل بلون الخلفية:
Kotlin
// Create a transparent glyph. val pinConfigBuilder: PinConfig.Builder = PinConfig.builder() pinConfigBuilder.setBackgroundColor(Color.MAGENTA) pinConfigBuilder.setGlyph(PinConfig.Glyph(Color.TRANSPARENT)) val pinConfig: PinConfig = pinConfigBuilder.build()
جافا
// Create a transparent glyph. PinConfig.Builder pinConfigBuilder = PinConfig.builder(); pinConfigBuilder.setBackgroundColor(Color.MAGENTA); pinConfigBuilder.setGlyph(new PinConfig.Glyph(Color.TRANSPARENT)); PinConfig pinConfig = pinConfigBuilder.build();
استخدام iconView
تتيح لك طريقة AdvancedMarkerOptions.iconView() استخدام أي View من Android كعلامة. باستخدام طريقة عرض كعلامة، يمكنك التحكّم بشكل كامل في
العلامة.
في تطبيقك، عليك أولاً إنشاء العرض، ثم استخدام طريقة
AdvancedMarkerOptions.iconView() لإضافة العرض إلى
العلامات المتقدّمة.
Kotlin
// Create a TextView to use as the marker. val textView = TextView(this) textView.text = "Hello!!" textView.setBackgroundColor(Color.BLACK) textView.setTextColor(Color.YELLOW)
val marker: Marker? = map.addMarker( AdvancedMarkerOptions() .position(SYDNEY) .iconView(textView) )
جافا
// Create a TextView to use as the marker. TextView textView = new TextView(this); textView.setText("Hello!!"); textView.setBackgroundColor(Color.BLACK); textView.setTextColor(Color.YELLOW);
Marker marker = map.addMarker( new AdvancedMarkerOptions() .position(SYDNEY) .iconView(textView));