大家早上好,我有一个无法解决的问题。
我希望能够将颜色从 html/javascript 更改为谷歌地图标记。
我尝试遵循在线文档,但我对此不太了解(我知道我可以通过图标放置它,但这并不能真正令我满意,从文档看来你可以自定义标记) .
按照文档,我在脚本中添加了链接到 api 的标记库。
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=MY_KEY&callback=initMap&sensor=false&language=it&libraries=marker"></script>
然后我创建脚本来插入标记(这是我的基本工作脚本,因此没有高级标记)
<script type="text/javascript">
function carica_variabili() {
//definizione coordinate su cui centrare la mappa
//inizializzazione vettori
var lat = new Array();
var long = new Array();
var descr = new Array();
var icona = new Array();
lat[0]="44.8814093";
long[0]="10.9912888";
descr[0]="TCA PRODUCTION Srl (004176)";
lat[1]="45.5193158";
long[1]="10.1769702";
descr[1]="GRAZIOLI SRL (007484)";
var lat_centro = lat[0];
var long_centro = long[0];
//Opzioni della mappa: zoom livello 14, centrata su un punto particolare,
var Opzioni = {
zoom: 8, center: new google.maps.LatLng(lat_centro, long_centro),
mapTypeId: google.maps.MapTypeId.ROADMAP,
scaleControl: false }
var map = new google.maps.Map(document.getElementById("map_canvas"), Opzioni);
//ciclo FOR per la lettura dei valori dei vettori e relativa visualizzazione su
//mappa
var i = 0;
for (i=0; i<lat.length; i++)
{ // var marker = new google.maps.marker({
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat[i], long[i]),
map: map,
label: "A",
//animation: google.maps.Animation.DROP,
title: descr[i]});
}
}
</script>
你们中有人以前使用过这些标记吗?你知道它们是如何工作的吗?
我尝试添加一个 PinElement 并将其作为“内容:”放入我的 for 循环中(将标记创建从“var benchmark = new google.maps.Marker”更改为“varmarker = new google.maps.marker.AdvancedMarkerElement” )
当我第一次遇到我不知道或完全理解的东西时,我通常会尝试从示例中找出答案。
您可以从这里获取示例代码:https://developers.google.com/maps/documentation/javascript/markers#maps_marker_simple-javascript
这里是设置自定义图标的示例:https://developers.google.com/maps/documentation/javascript/markers#icons
我喜欢 SGV 格式图标,因为它省去了我设置文件并从脚本加载它们的麻烦。从那里我可以定义颜色、形状、大小。