gpt4 book ai didi

javascript - 如何在 Google map v3 中的每个标记上添加编号?

转载 作者:行者123 更新时间:2023-11-29 10:50:34 25 4
gpt4 key购买 nike

我想问大家有关如何使用 JavaScript 在 Google Maps v3 中的每个标记上动态添加数字的问题。例如,第一个标记是 1,第二个是 2,等等。在这种情况下,我有这样的位置数据:

[
new google.maps.LatLng(1.3667, 103.8000),
new google.maps.LatLng(1.3667, 103.8000),
new google.maps.LatLng(1.3667, 103.8000),
new google.maps.LatLng(1.3667, 103.8000),
new google.maps.LatLng(51.0000, 9.0000),
new google.maps.LatLng(51.0000, 9.0000),
new google.maps.LatLng(51.5142, -0.0931),
new google.maps.LatLng(51.5142, -0.0931),
new google.maps.LatLng(54.0000, -2.0000),
new google.maps.LatLng(51.6000, -1.2500),
new google.maps.LatLng(51.7500, -1.2500)
];

但是这些数据是动态变化的。因此,对于第一个位置的纬度/经度,我将在第一个标记上给出数字 1,在第二个标记上给出数字 2,等等。而且我还使用了每个标记的图标:

"http://chart.apis.google.com/chart?chst=d_map_xpin_letter_withshadow&chld=pin_star|%E2%80%A2|CC3300|000000|FF9900"

我必须更改标记图标吗?我真的需要您的建议或示例代码来解决问题。请帮忙。非常感谢您的帮助。

最佳答案

您可以保留加星标的图钉图标并在其旁边添加一个不显眼的标签。这个标签可以说任何东西,但我只保留了一个数字。这是 MarkerWithLabel library ( download here )

演示 http://jsfiddle.net/yV6xv/21/

pin with number

您还需要为其定义一个 CSS。

  .labels {
color: blue;
background-color: white;
font-family: "Lucida Grande", "Arial", sans-serif;
font-size: 12px;
font-weight: bold;
text-align: center;
width: 25px;
border: 1px solid black;
white-space: nowrap;
}

并用 MarkerWithLabel 替换您的常规标记:

for (var i = 0; i < point.length; i++) {
var marker = new MarkerWithLabel({
map: map,
position: point[i],
icon: pinImage,
shadow: pinShadow,
labelContent: i,
labelAnchor: new google.maps.Point(12, -5),
labelClass: "labels"
});
}

包含在 HTML 文件中

  <head>
<style type="text/css">
html, body, #map_canvas { margin: 0; padding: 0; height: 100% }
.labels {
color: blue;
background-color: white;
font-family: "Lucida Grande", "Arial", sans-serif;
font-size: 12px;
font-weight: bold;
text-align: center;
width: 25px;
border: 1px solid black;
white-space: nowrap;
}
</style>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn/tags/markerwithlabel/1.1.5/src/markerwithlabel_packed.js"></script>

<script type="text/javascript">
var map;
var mapOptions = { center: new google.maps.LatLng(0.0, 0.0), zoom: 2,
mapTypeId: google.maps.MapTypeId.ROADMAP };
...

关于javascript - 如何在 Google map v3 中的每个标记上添加编号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10958722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com