【发布时间】:2015-09-30 11:12:43
【问题描述】:
我正在尝试在通过 google maps api 绘制的多边形上添加标签。
我的 getPolygons.php ajax 调用的结果如下所示:
var triangleCoords = [
{lat:38.88154,lng: -77.02880},
{lat:38.83863,lng:-77.02760},
{lat:38.83917,lng:-77.07292},
{lat:38.84251,lng: -77.12098},
{lat:38.86951,lng:-77.13575},
{lat:38.88769, lng:-77.05404}
];
代码:
$.ajax({
type:"GET",
url:"getPolygons.php",
dataType:"json",
success:function(result){
$.each(result,function(e,i){
var triangleCoords = [];
var color = i.color;
$.each(i.points,function(ee,ii){
var lat = parseFloat(ii.lat);
var lon = parseFloat(ii.lon);
triangleCoords.push({lat:lat,lng:lon});
});
var bermudaTriangle = new google.maps.Polygon({
paths: triangleCoords,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: color,
fillOpacity: 0.35
});
bermudaTriangle.setMap(map);
var pos = new google.maps.LatLng(lat,lon);
var marker = new MarkerWithLabel({
position: pos,
map: map,
labelAnchor: new google.maps.Point(3, 30),
labelClass: Sclass, // the CSS class for the label
labelInBackground: false
});
});
}
我尝试过使用markerswithlabel.js
我包含这个脚本:
<script src="https://maps.googleapis.com/maps/api/js?key=API_KEY&signed_in=true&libraries=drawing&callback=initMap" defer></script>
和标准
<script src='markerLabel.js'></script>
但是当我包含 markerLabel.js 时,我得到了这个错误:
Uncaught ReferenceError: google is not defined
我正在尝试做这样的事情:
【问题讨论】:
-
当然问题是,无论你可以看到这个代码示例jsfiddle.net/Ldhdt3tc 或者如果你想使用 svg 看这个stackoverflow.com/questions/29046546/…
-
顺便说一句 - 我在发布的代码中收到一个 javascript 错误:
Uncaught ReferenceError: Sclass is not defined -
是的,谢谢。那是因为我删掉了一些与问题无关的代码。
标签: javascript google-maps google-maps-api-3 google-maps-markers