我试图从数据库中将已保存的标记加载到地图中,直到现在工作正常,我在控制台中收到错误:
Uncaught InvalidValueError:setIcon:不是字符串;没有网址属性;并且没有路径属性
有问题的代码是:
$.get("event_data.php", function (data) {
$(data).find("marker").each(function () {
var name = $(this).attr('name');
var description = '<p>'+ $(this).attr('description') +'</p>';
var type = $(this).attr('category');
var edate = $(this).attr('edate');
var point = new google.maps.LatLng(parseFloat($(this).attr('lat')),parseFloat($(this).attr('lon')));
create_marker(point, name, description, category, edate, false, false, false, "");
});
});
function create_marker(MapPos, eName, eForm, type, InfoOpenDefault, DragAble, Removable, iconPath)
{
// Display the Icon by category
switch(type){
case 'meeting': iconPath = 'static/assets/meeting_marker1.png'; break;
case 'clean' : iconPath = 'static/assets/clean_marker2.png'; break;
case 'special' : iconPath = 'static/assets/special_marker.png'; break;
case 'priority' : iconPath = 'static/assets/alert_marker.png';
}
var marker = new google.maps.Marker({
position: MapPos,
map: map,
draggable:DragAble,
title: eName,
icon: iconPath
});
......
}
控制台中突出显示的行是:
$(data).find(&#34; marker&#34;)。each(function(){
和
create_marker(点,名称,描述,类别,edate,false,false, false,&#34; static / assets / new_event_marker.png&#34;);
和
var marker = new google.maps.Marker({
答案 0 :(得分:0)
感谢帮助人员。这只是一个简单的错误。我更改了参数名称(类型),但从未在输出中更改过。
所以这个:
create_marker(point, name, description, category, edate, false, false, false, '');
成了这个:
create_marker(point, name, description, type, edate, false, false, false, '');