مقدمة
علامة تحدد الموقع على الخريطة. تستخدم العلامة تلقائيًا صورة عادية. ويمكن أن تعرض العلامات صورًا مخصّصة، وفي هذه الحالة يُشار إليها عادةً باسم "الرموز". العلامات والرموز هي كائنات من النوع Marker
. يمكنك ضبط رمز مخصص داخل الدالة الإنشائية للعلامة، أو عن طريق استدعاء setIcon()
على العلامة. يمكنك الاطّلاع على مزيد من المعلومات حول
تخصيص صورة العلامة.
بشكل عام، تعد العلامات نوعًا من التراكب. للحصول على معلومات حول الأنواع الأخرى من التركيبات، يمكنك الاطّلاع على الرسم على الخريطة.
تم تصميم العلامات لتكون تفاعلية. على سبيل المثال، يتلقّون
أحداث 'click'
تلقائيًا، لذلك يمكنك إضافة أداة معالجة الحدث
لإظهار
نافذة معلومات
تعرض معلومات مخصّصة. يمكنك السماح للمستخدمين بنقل محدِّد الموقع على الخريطة من خلال ضبط سمة draggable
للعلامة على true
. لمزيد من المعلومات حول العلامات القابلة للسحب، اطّلِع
أدناه.
إضافة علامة
تستخدم الدالة الإنشائية google.maps.Marker
كائن Marker options
واحدًا حرفيًا، وتحدد السمات الأولية للعلامة.
الحقول التالية مهمة بشكل خاص ويتم ضبطها بشكل شائع عند إنشاء علامة:
-
position
(مطلوبة) تحدّد عنصرLatLng
الذي يحدّد الموقع الجغرافي الأولي للعلامة. ولاستردادLatLng
، يمكنك استخدام خدمة الترميز الجغرافي. -
map
(اختياري) يحددMap
الذي يجب وضع العلامة عليه. إذا لم تحدد الخريطة عند إنشاء العلامة، يتم إنشاء العلامة ولكن لا يتم إرفاقها بالخريطة (أو عرضها عليها). يمكنك إضافة محدّد الموقع لاحقًا عن طريق استدعاء طريقةsetMap()
الخاصة بالعلامة.
يضيف المثال التالي علامة بسيطة إلى خريطة في أولورو في وسط أستراليا:
TypeScript
function initMap(): void { const myLatLng = { lat: -25.363, lng: 131.044 }; const map = new google.maps.Map( document.getElementById("map") as HTMLElement, { zoom: 4, center: myLatLng, } ); new google.maps.Marker({ position: myLatLng, map, title: "Hello World!", }); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
function initMap() { const myLatLng = { lat: -25.363, lng: 131.044 }; const map = new google.maps.Map(document.getElementById("map"), { zoom: 4, center: myLatLng, }); new google.maps.Marker({ position: myLatLng, map, title: "Hello World!", }); } window.initMap = initMap;
تجربة النموذج
في المثال أعلاه، تم وضع العلامة على الخريطة عند إنشاء العلامة باستخدام السمة map
في خيارات العلامة.
بدلاً من ذلك، يمكنك إضافة العلامة إلى الخريطة مباشرةً باستخدام طريقة
setMap()
للعلامة، كما هو موضح في المثال أدناه:
var myLatlng = new google.maps.LatLng(-25.363882,131.044922); var mapOptions = { zoom: 4, center: myLatlng } var map = new google.maps.Map(document.getElementById("map"), mapOptions); var marker = new google.maps.Marker({ position: myLatlng, title:"Hello World!" }); // To add the marker to the map, call setMap(); marker.setMap(map);
The marker's title
will appear as a tooltip.
If you do not wish to pass any Marker options
in the
marker's constructor, instead pass an empty object {}
in the
last argument of the constructor.
Remove a marker
To remove a marker from the map, call the setMap()
method
passing null
as the argument.
marker.setMap(null);
Note that the above method does not delete the marker. It removes the
marker from the map. If instead you wish to delete the marker, you should
remove it from the map, and then set the marker itself to
null
.
If you wish to manage a set of markers, you should create an array to hold
the markers. Using this array, you can then call setMap()
on
each marker in the array in turn when you need to remove the markers. You
can delete the markers by removing them from the map and then setting the
array's length
to 0
, which removes all
references to the markers.
Customize a marker image
You can customize the visual appearance of markers by specifying an image file or vector-based icon to display instead of the default Google Maps pushpin icon. You can add text with a marker label, and use complex icons to define clickable regions, and set the stack order of markers.
Markers with image icons
In the most basic case, an icon can specify an image to use instead of the
default Google Maps pushpin icon. To specify such an icon, set the
marker's icon
property to the URL of an image. The Maps JavaScript API will size the icon automatically.
TypeScript
// This example adds a marker to indicate the position of Bondi Beach in Sydney, // Australia. function initMap(): void { const map = new google.maps.Map( document.getElementById("map") as HTMLElement, { zoom: 4, center: { lat: -33, lng: 151 }, } ); const image = "https://developers.google.com/maps/documentation/javascript/examples/full/images/beachflag.png"; const beachMarker = new google.maps.Marker({ position: { lat: -33.89, lng: 151.274 }, map, icon: image, }); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
// This example adds a marker to indicate the position of Bondi Beach in Sydney, // Australia. function initMap() { const map = new google.maps.Map(document.getElementById("map"), { zoom: 4, center: { lat: -33, lng: 151 }, }); const image = "https://developers.google.com/maps/documentation/javascript/examples/full/images/beachflag.png"; const beachMarker = new google.maps.Marker({ position: { lat: -33.89, lng: 151.274 }, map, icon: image, }); } window.initMap = initMap;
تجربة النموذج
علامات بأيقونات قائمة على متجهات
يمكنك استخدام مسارات متجهات SVG مخصّصة لتحديد المظهر المرئي
للعلامات. لإجراء ذلك، اضبط الكائن Symbol
حرفيًا مع
المسار المطلوب إلى سمة icon
للعلامة. يمكنك تحديد مسار مخصّص باستخدام تدوين مسار SVG أو استخدام أحد المسارات المحدَّدة مسبقًا في google.maps.SymbolPath. يجب استخدام السمة anchor
لعرض العلامة بشكل صحيح عند تغيير مستوى التكبير/التصغير. اطّلِع على مزيد من المعلومات حول
استخدام الرموز لإنشاء رموز مستندة إلى المتّجهات
للعلامات (والخطوط المتعددة).
TypeScript
// This example uses SVG path notation to add a vector-based symbol // as the icon for a marker. The resulting icon is a marker-shaped // symbol with a blue fill and no border. function initMap(): void { const center = new google.maps.LatLng(-33.712451, 150.311823); const map = new google.maps.Map( document.getElementById("map") as HTMLElement, { zoom: 9, center: center, } ); const svgMarker = { path: "M-1.547 12l6.563-6.609-1.406-1.406-5.156 5.203-2.063-2.109-1.406 1.406zM0 0q2.906 0 4.945 2.039t2.039 4.945q0 1.453-0.727 3.328t-1.758 3.516-2.039 3.070-1.711 2.273l-0.75 0.797q-0.281-0.328-0.75-0.867t-1.688-2.156-2.133-3.141-1.664-3.445-0.75-3.375q0-2.906 2.039-4.945t4.945-2.039z", fillColor: "blue", fillOpacity: 0.6, strokeWeight: 0, rotation: 0, scale: 2, anchor: new google.maps.Point(0, 20), }; new google.maps.Marker({ position: map.getCenter(), icon: svgMarker, map: map, }); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
// This example uses SVG path notation to add a vector-based symbol // as the icon for a marker. The resulting icon is a marker-shaped // symbol with a blue fill and no border. function initMap() { const center = new google.maps.LatLng(-33.712451, 150.311823); const map = new google.maps.Map(document.getElementById("map"), { zoom: 9, center: center, }); const svgMarker = { path: "M-1.547 12l6.563-6.609-1.406-1.406-5.156 5.203-2.063-2.109-1.406 1.406zM0 0q2.906 0 4.945 2.039t2.039 4.945q0 1.453-0.727 3.328t-1.758 3.516-2.039 3.070-1.711 2.273l-0.75 0.797q-0.281-0.328-0.75-0.867t-1.688-2.156-2.133-3.141-1.664-3.445-0.75-3.375q0-2.906 2.039-4.945t4.945-2.039z", fillColor: "blue", fillOpacity: 0.6, strokeWeight: 0, rotation: 0, scale: 2, anchor: new google.maps.Point(0, 20), }; new google.maps.Marker({ position: map.getCenter(), icon: svgMarker, map: map, }); } window.initMap = initMap;
تجربة النموذج
تصنيفات العلامات
تصنيف العلامة هو حرف أو رقم يظهر داخل العلامة. تعرض صورة محدّد الموقع في هذا القسم تصنيفًا يتضمّن الحرف "B". يمكنك تحديد تصنيف علامة على أنّه سلسلة أو كائن MarkerLabel
يتضمّن سلسلة وسمات تصنيف أخرى.
عند إنشاء علامة، يمكنك تحديد السمة label
في العنصر
MarkerOptions
. بدلاً من ذلك، يمكنك استدعاء السمة setLabel()
على الكائن Marker
لضبط التصنيف على علامة حالية.
يعرض المثال التالي محدّدات المواقع المصنّفة عندما ينقر المستخدم على الخريطة:
TypeScript
// In the following example, markers appear when the user clicks on the map. // Each marker is labeled with a single alphabetical character. const labels = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; let labelIndex = 0; function initMap(): void { const bangalore = { lat: 12.97, lng: 77.59 }; const map = new google.maps.Map( document.getElementById("map") as HTMLElement, { zoom: 12, center: bangalore, } ); // This event listener calls addMarker() when the map is clicked. google.maps.event.addListener(map, "click", (event) => { addMarker(event.latLng, map); }); // Add a marker at the center of the map. addMarker(bangalore, map); } // Adds a marker to the map. function addMarker(location: google.maps.LatLngLiteral, map: google.maps.Map) { // Add the marker at the clicked location, and add the next-available label // from the array of alphabetical characters. new google.maps.Marker({ position: location, label: labels[labelIndex++ % labels.length], map: map, }); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
// In the following example, markers appear when the user clicks on the map. // Each marker is labeled with a single alphabetical character. const labels = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; let labelIndex = 0; function initMap() { const bangalore = { lat: 12.97, lng: 77.59 }; const map = new google.maps.Map(document.getElementById("map"), { zoom: 12, center: bangalore, }); // This event listener calls addMarker() when the map is clicked. google.maps.event.addListener(map, "click", (event) => { addMarker(event.latLng, map); }); // Add a marker at the center of the map. addMarker(bangalore, map); } // Adds a marker to the map. function addMarker(location, map) { // Add the marker at the clicked location, and add the next-available label // from the array of alphabetical characters. new google.maps.Marker({ position: location, label: labels[labelIndex++ % labels.length], map: map, }); } window.initMap = initMap;
تجربة النموذج
الرموز المعقدة
يمكنك تحديد أشكال معقدة للإشارة إلى المناطق التي يمكن النقر عليها، وتحديد كيفية ظهور الرموز مقارنةً بالعناصر المركّبة الأخرى ("ترتيب التكدس" الخاص بها). أمّا الرموز المحدّدة بهذه الطريقة، فيجب أن تضبط سمات icon
الخاصة بها على كائن من النوع Icon
.
وتحدد عناصر Icon
الصورة. وتحدد أيضًا size
للرمز، وorigin
للرمز (إذا كانت الصورة التي تريدها جزءًا
من صورة أكبر حجمًا في رسم متحرك، على سبيل المثال)،
وanchor
حيث يجب وضع نقطة اتصال الرمز (بناءً على المصدر).
إذا كنت تستخدم تصنيف مع علامة مخصّصة، يمكنك وضع التصنيف باستخدام السمة labelOrigin
في العنصر Icon
.
TypeScript
// The following example creates complex markers to indicate beaches near // Sydney, NSW, Australia. Note that the anchor is set to (0,32) to correspond // to the base of the flagpole. function initMap(): void { const map = new google.maps.Map( document.getElementById("map") as HTMLElement, { zoom: 10, center: { lat: -33.9, lng: 151.2 }, } ); setMarkers(map); } // Data for the markers consisting of a name, a LatLng and a zIndex for the // order in which these markers should display on top of each other. const beaches: [string, number, number, number][] = [ ["Bondi Beach", -33.890542, 151.274856, 4], ["Coogee Beach", -33.923036, 151.259052, 5], ["Cronulla Beach", -34.028249, 151.157507, 3], ["Manly Beach", -33.80010128657071, 151.28747820854187, 2], ["Maroubra Beach", -33.950198, 151.259302, 1], ]; function setMarkers(map: google.maps.Map) { // Adds markers to the map. // Marker sizes are expressed as a Size of X,Y where the origin of the image // (0,0) is located in the top left of the image. // Origins, anchor positions and coordinates of the marker increase in the X // direction to the right and in the Y direction down. const image = { url: "https://developers.google.com/maps/documentation/javascript/examples/full/images/beachflag.png", // This marker is 20 pixels wide by 32 pixels high. size: new google.maps.Size(20, 32), // The origin for this image is (0, 0). origin: new google.maps.Point(0, 0), // The anchor for this image is the base of the flagpole at (0, 32). anchor: new google.maps.Point(0, 32), }; // Shapes define the clickable region of the icon. The type defines an HTML // <area> element 'poly' which traces out a polygon as a series of X,Y points. // The final coordinate closes the poly by connecting to the first coordinate. const shape = { coords: [1, 1, 1, 20, 18, 20, 18, 1], type: "poly", }; for (let i = 0; i < beaches.length; i++) { const beach = beaches[i]; new google.maps.Marker({ position: { lat: beach[1], lng: beach[2] }, map, icon: image, shape: shape, title: beach[0], zIndex: beach[3], }); } } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
// The following example creates complex markers to indicate beaches near // Sydney, NSW, Australia. Note that the anchor is set to (0,32) to correspond // to the base of the flagpole. function initMap() { const map = new google.maps.Map(document.getElementById("map"), { zoom: 10, center: { lat: -33.9, lng: 151.2 }, }); setMarkers(map); } // Data for the markers consisting of a name, a LatLng and a zIndex for the // order in which these markers should display on top of each other. const beaches = [ ["Bondi Beach", -33.890542, 151.274856, 4], ["Coogee Beach", -33.923036, 151.259052, 5], ["Cronulla Beach", -34.028249, 151.157507, 3], ["Manly Beach", -33.80010128657071, 151.28747820854187, 2], ["Maroubra Beach", -33.950198, 151.259302, 1], ]; function setMarkers(map) { // Adds markers to the map. // Marker sizes are expressed as a Size of X,Y where the origin of the image // (0,0) is located in the top left of the image. // Origins, anchor positions and coordinates of the marker increase in the X // direction to the right and in the Y direction down. const image = { url: "https://developers.google.com/maps/documentation/javascript/examples/full/images/beachflag.png", // This marker is 20 pixels wide by 32 pixels high. size: new google.maps.Size(20, 32), // The origin for this image is (0, 0). origin: new google.maps.Point(0, 0), // The anchor for this image is the base of the flagpole at (0, 32). anchor: new google.maps.Point(0, 32), }; // Shapes define the clickable region of the icon. The type defines an HTML // <area> element 'poly' which traces out a polygon as a series of X,Y points. // The final coordinate closes the poly by connecting to the first coordinate. const shape = { coords: [1, 1, 1, 20, 18, 20, 18, 1], type: "poly", }; for (let i = 0; i < beaches.length; i++) { const beach = beaches[i]; new google.maps.Marker({ position: { lat: beach[1], lng: beach[2] }, map, icon: image, shape: shape, title: beach[0], zIndex: beach[3], }); } } window.initMap = initMap;
تجربة النموذج
جارٍ تحويل MarkerImage
كائنات إلى النوع Icon
حتى الإصدار 3.10 من Maps JavaScript API، كان يتم تعريف الرموز المعقدة على أنّها كائنات MarkerImage
. تمت إضافة العنصر Icon
الحرفي في الإصدار 3.10، وسيحل محل MarkerImage
من الإصدار 3.11 فصاعدًا.
تتيح القيم الحرفية لكائن Icon
المعلَمات نفسها مثل
MarkerImage
، ما يتيح لك بسهولة تحويل
MarkerImage
إلى Icon
عن طريق إزالة
الدالة الإنشائية ولف المَعلمات السابقة في {}
وإضافة أسماء كل مَعلمة. مثال:
var image = new google.maps.MarkerImage( place.icon, new google.maps.Size(71, 71), new google.maps.Point(0, 0), new google.maps.Point(17, 34), new google.maps.Size(25, 25));
becomes
var image = { url: place.icon, size: new google.maps.Size(71, 71), origin: new google.maps.Point(0, 0), anchor: new google.maps.Point(17, 34), scaledSize: new google.maps.Size(25, 25) };
Optimize markers
Optimization enhances performance by rendering many markers as a single static element. This is useful in cases where a large number of markers is required. By default, the Maps JavaScript API will decide whether a marker will be optimized. When there is a large number of markers, the Maps JavaScript API will attempt to render markers with optimization. Not all Markers can be optimized; in some situations, the Maps JavaScript API may need to render Markers without optimization. Disable optimized rendering for animated GIFs or PNGs, or when each marker must be rendered as a separate DOM element. The following example shows creating an optimized marker:
var marker = new google.maps.Marker({ position: myLatlng, title:"Hello World!", optimized: true });
جعل العلامة سهلة الوصول
يمكنك إتاحة الوصول إلى علامة عن طريق إضافة حدث أداة معالجة النقرة وضبط optimized
على false
. تؤدي أداة معالجة النقرات إلى تضمين دلالات الأزرار في العلامة، والتي يمكن الوصول إليها باستخدام التنقل بلوحة المفاتيح وقارئات الشاشة وما إلى ذلك. يمكنك استخدام الخيار title
لتقديم نص يمكن الوصول إليه لعلامة.
في المثال التالي، يتلقى العلامة الأولى التركيز عند الضغط على مفتاح التبويب (Tab)، ويمكنك بعد ذلك استخدام مفاتيح الأسهم للتنقل بين العلامات. اضغط على مفتاح التبويب (Tab) مرة أخرى لمواصلة التنقّل بين بقية عناصر التحكّم في الخريطة. إذا كانت العلامة تتضمن نافذة معلومات، يمكنك فتحها بالنقر على العلامة، أو بالضغط على مفتاح Enter أو مفتاح المسافة عند اختيار العلامة. وعند إغلاق نافذة المعلومات، سيعود التركيز إلى العلامة المرتبطة.
TypeScript
// The following example creates five accessible and // focusable markers. function initMap(): void { const map = new google.maps.Map( document.getElementById("map") as HTMLElement, { zoom: 12, center: { lat: 34.84555, lng: -111.8035 }, } ); // Set LatLng and title text for the markers. The first marker (Boynton Pass) // receives the initial focus when tab is pressed. Use arrow keys to // move between markers; press tab again to cycle through the map controls. const tourStops: [google.maps.LatLngLiteral, string][] = [ [{ lat: 34.8791806, lng: -111.8265049 }, "Boynton Pass"], [{ lat: 34.8559195, lng: -111.7988186 }, "Airport Mesa"], [{ lat: 34.832149, lng: -111.7695277 }, "Chapel of the Holy Cross"], [{ lat: 34.823736, lng: -111.8001857 }, "Red Rock Crossing"], [{ lat: 34.800326, lng: -111.7665047 }, "Bell Rock"], ]; // Create an info window to share between markers. const infoWindow = new google.maps.InfoWindow(); // Create the markers. tourStops.forEach(([position, title], i) => { const marker = new google.maps.Marker({ position, map, title: `${i + 1}. ${title}`, label: `${i + 1}`, optimized: false, }); // Add a click listener for each marker, and set up the info window. marker.addListener("click", () => { infoWindow.close(); infoWindow.setContent(marker.getTitle()); infoWindow.open(marker.getMap(), marker); }); }); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
// The following example creates five accessible and // focusable markers. function initMap() { const map = new google.maps.Map(document.getElementById("map"), { zoom: 12, center: { lat: 34.84555, lng: -111.8035 }, }); // Set LatLng and title text for the markers. The first marker (Boynton Pass) // receives the initial focus when tab is pressed. Use arrow keys to // move between markers; press tab again to cycle through the map controls. const tourStops = [ [{ lat: 34.8791806, lng: -111.8265049 }, "Boynton Pass"], [{ lat: 34.8559195, lng: -111.7988186 }, "Airport Mesa"], [{ lat: 34.832149, lng: -111.7695277 }, "Chapel of the Holy Cross"], [{ lat: 34.823736, lng: -111.8001857 }, "Red Rock Crossing"], [{ lat: 34.800326, lng: -111.7665047 }, "Bell Rock"], ]; // Create an info window to share between markers. const infoWindow = new google.maps.InfoWindow(); // Create the markers. tourStops.forEach(([position, title], i) => { const marker = new google.maps.Marker({ position, map, title: `${i + 1}. ${title}`, label: `${i + 1}`, optimized: false, }); // Add a click listener for each marker, and set up the info window. marker.addListener("click", () => { infoWindow.close(); infoWindow.setContent(marker.getTitle()); infoWindow.open(marker.getMap(), marker); }); }); } window.initMap = initMap;
تجربة النموذج
تحريك علامة
يمكنك إضافة تأثيرات حركية إلى العلامات بحيث تُظهر حركة ديناميكية في مجموعة متنوّعة من الظروف. لتحديد طريقة إضافة تأثيرات حركية إلى علامة، استخدِم السمة animation
للعلامة من النوع google.maps.Animation
. يمكن استخدام قيم Animation
التالية:
-
تشير السمة
DROP
إلى أنه يجب إسقاط العلامة من أعلى الخريطة إلى موقعها النهائي عند وضعها على الخريطة لأول مرة. ستتوقف الصورة المتحركة عندما تتوقف العلامة عن العمل وستعود العلامةanimation
إلىnull
. ويتم عادةً تحديد هذا النوع من الصور المتحركة أثناء إنشاءMarker
. -
تشير
BOUNCE
إلى أن العلامة يجب أن ترتد في مكانها. سيستمر ارتداد العلامة إلى أن يتم ضبط السمةanimation
بشكل صريح علىnull
.
يمكنك بدء حركة على علامة حالية من خلال استدعاء setAnimation()
على الكائن Marker
.
TypeScript
// The following example creates a marker in Stockholm, Sweden using a DROP // animation. Clicking on the marker will toggle the animation between a BOUNCE // animation and no animation. let marker: google.maps.Marker; function initMap(): void { const map = new google.maps.Map( document.getElementById("map") as HTMLElement, { zoom: 13, center: { lat: 59.325, lng: 18.07 }, } ); marker = new google.maps.Marker({ map, draggable: true, animation: google.maps.Animation.DROP, position: { lat: 59.327, lng: 18.067 }, }); marker.addListener("click", toggleBounce); } function toggleBounce() { if (marker.getAnimation() !== null) { marker.setAnimation(null); } else { marker.setAnimation(google.maps.Animation.BOUNCE); } } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
// The following example creates a marker in Stockholm, Sweden using a DROP // animation. Clicking on the marker will toggle the animation between a BOUNCE // animation and no animation. let marker; function initMap() { const map = new google.maps.Map(document.getElementById("map"), { zoom: 13, center: { lat: 59.325, lng: 18.07 }, }); marker = new google.maps.Marker({ map, draggable: true, animation: google.maps.Animation.DROP, position: { lat: 59.327, lng: 18.067 }, }); marker.addListener("click", toggleBounce); } function toggleBounce() { if (marker.getAnimation() !== null) { marker.setAnimation(null); } else { marker.setAnimation(google.maps.Animation.BOUNCE); } } window.initMap = initMap;
تجربة النموذج
إذا كان لديك العديد من محدّدات المواقع، قد لا تحتاج إلى إفلاتها على الخريطة
دُفعة واحدة. يمكنك الاستفادة من setTimeout()
لإضافة مسافة بين
الرسوم المتحركة لعلاماتك باستخدام نمط يشبه النمط الموضّح أدناه:
function drop() { for (var i =0; i < markerArray.length; i++) { setTimeout(function() { addMarkerMethod(); }, i * 200); } }
جعل محدّد الموقع قابل للسحب
للسماح للمستخدمين بسحب محدِّد الموقع إلى موقع مختلف على الخريطة، اضبط
draggable
على true
في خيارات محدّد الموقع.
var myLatlng = new google.maps.LatLng(-25.363882,131.044922); var mapOptions = { zoom: 4, center: myLatlng } var map = new google.maps.Map(document.getElementById("map"), mapOptions); // Place a draggable marker on the map var marker = new google.maps.Marker({ position: myLatlng, map: map, draggable:true, title:"Drag me!" });
إمكانية تخصيص إضافية للعلامات
للحصول على محدّد موقع مخصّص بالكامل، اطّلِع على مثال النافذة المنبثقة المخصّصة.
للحصول على المزيد من الإضافات لفئة "العلامات" وتجميع العلامات وإدارتها وتخصيص التراكب، اطّلِع على مكتبات البرامج المفتوحة المصدر.
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2024-07-16 (حسب التوقيت العالمي المتفَّق عليه)