Javascript 未捕获类型错误:pos.apply不是showtooltip()方法中的函数 jQuery(文档).ready(函数($){ var currentMap;var lat;var log;var latlongarray;var纬度; 变量经度;变量计数=0;变量名称;变量编号;变量国家; 变量映射;变量地址;变量标记;变量批=[]; showTooltip=功能(标记){ tooltip.innerHTML=marker.tooltip; var point=currentMap.getCurrentMapType().getProjection() .fromLatLngToPixel(currentMap.fromDivPixelToLatLng( 新的GPoint(0,0),true),currentMap.getZoom(); var offset=currentMap.getCurrentMapType().getProjection() .fromLatLngToPixel(marker.getPoint(), currentMap.getZoom()); var anchor=marker.getIcon().iconAnchor; var width=marker.getIcon().iconSize.width; var height=tooltip.clientHeight; var pos=新的GControlPosition(G\U锚定\U顶部\U左侧, 新的GSize(偏移.x-点.x-锚定.x+宽度, 偏移量.y-点.y-锚定.y-宽度); 位置应用(工具提示); tooltip.style.visibility=“可见”; } 初始化=函数(){var tim=(新日期).getTime(); var provNum=$(“输入[name='providerNumber']”)val(); $.getJSON('newmap.do?t='+tim+'&providerNumber='+provNum, 函数(数据){$.each(数据,函数(i,项){ 地址=item.name+item.address; name=item.name; 纬度=item.latitude; 经度=项目经度; 编号=项目编号; var icon=new GIcon(); icon.image=“images/pin.png”; icon.iconAnchor=新的GPoint(16,16); icon.infoWindowAnchor=新的GPoint(16,0); icon.iconSize=新的GSize(32,32); icon.shadowSize=新的GSize(59,32); 标记器=新的GMarker(新的GLatLng(item.latitude), 项目(经度){ 真的, 图标:图标 }); lat=项。格度; log=item.longitude; marker.disabledrading(); 批量推送(标记); marker.tooltip=”“+item.name+ “”+item.number+”床位:“+item.bed” +“DSH:”+item.DSH+”; addListener(标记“mouseover”,函数(){ 显示工具提示(标记); }); addListener(标记“mouseout”,函数(){ tooltip.style.visibility=“隐藏”; }); addListener(标记“mouseout”,函数(){ tooltip.style.visibility=“隐藏”; }); }); if(GBrowserIsCompatible()){ VarMap=新的GMap2(document.getElementById(“map-c”); 地图设置中心(新格拉特林(纬度,对数),11); 工具提示=document.createElement(“div”); getPane(G_map_FLOAT_PANE).appendChild(工具提示); tooltip.style.visibility=“隐藏”; map.setUIToDefault(); mgr=新MarkerManager(map); 经理(第2批); 经理刷新(); currentMap=map; } }); }); } if(jQuery.browser.safari&&document.readyState!=“完成”){ 初始化(); } });
这是我的密码。。在这里,我从sql中获取纬度和经度,并在谷歌地图中添加标记。现在我正在尝试为每个标记添加信息框 但我犯了个错误 “未捕获类型错误:pos.apply不是函数” 排队 “位置应用(工具提示);”Javascript 未捕获类型错误:pos.apply不是showtooltip()方法中的函数 jQuery(文档).ready(函数($){ var currentMap;var lat;var log;var latlongarray;var纬度; 变量经度;变量计数=0;变量名称;变量编号;变量国家; 变量映射;变量地址;变量标记;变量批=[]; showTooltip=功能(标记){ tooltip.innerHTML=marker.tooltip; var point=currentMap.getCurrentMapType().getProjection() .fromLatLngToPixel(currentMap.fromDivPixelToLatLng( 新的GPoint(0,0),true),currentMap.getZoom(); var offset=currentMap.getCurrentMapType().getProjection() .fromLatLngToPixel(marker.getPoint(), currentMap.getZoom()); var anchor=marker.getIcon().iconAnchor; var width=marker.getIcon().iconSize.width; var height=tooltip.clientHeight; var pos=新的GControlPosition(G\U锚定\U顶部\U左侧, 新的GSize(偏移.x-点.x-锚定.x+宽度, 偏移量.y-点.y-锚定.y-宽度); 位置应用(工具提示); tooltip.style.visibility=“可见”; } 初始化=函数(){var tim=(新日期).getTime(); var provNum=$(“输入[name='providerNumber']”)val(); $.getJSON('newmap.do?t='+tim+'&providerNumber='+provNum, 函数(数据){$.each(数据,函数(i,项){ 地址=item.name+item.address; name=item.name; 纬度=item.latitude; 经度=项目经度; 编号=项目编号; var icon=new GIcon(); icon.image=“images/pin.png”; icon.iconAnchor=新的GPoint(16,16); icon.infoWindowAnchor=新的GPoint(16,0); icon.iconSize=新的GSize(32,32); icon.shadowSize=新的GSize(59,32); 标记器=新的GMarker(新的GLatLng(item.latitude), 项目(经度){ 真的, 图标:图标 }); lat=项。格度; log=item.longitude; marker.disabledrading(); 批量推送(标记); marker.tooltip=”“+item.name+ “”+item.number+”床位:“+item.bed” +“DSH:”+item.DSH+”; addListener(标记“mouseover”,函数(){ 显示工具提示(标记); }); addListener(标记“mouseout”,函数(){ tooltip.style.visibility=“隐藏”; }); addListener(标记“mouseout”,函数(){ tooltip.style.visibility=“隐藏”; }); }); if(GBrowserIsCompatible()){ VarMap=新的GMap2(document.getElementById(“map-c”); 地图设置中心(新格拉特林(纬度,对数),11); 工具提示=document.createElement(“div”); getPane(G_map_FLOAT_PANE).appendChild(工具提示); tooltip.style.visibility=“隐藏”; map.setUIToDefault(); mgr=新MarkerManager(map); 经理(第2批); 经理刷新(); currentMap=map; } }); }); } if(jQuery.browser.safari&&document.readyState!=“完成”){ 初始化(); } });,javascript,jquery,google-maps,google-maps-api-2,Javascript,Jquery,Google Maps,Google Maps Api 2,这是我的密码。。在这里,我从sql中获取纬度和经度,并在谷歌地图中添加标记。现在我正在尝试为每个标记添加信息框 但我犯了个错误 “未捕获类型错误:pos.apply不是函数” 排队 “位置应用(工具提示);” 有人知道如何解决这个问题吗?.apply是Function.prototype的一部分,在普通对象中不可用 让我告诉你,你在这里做什么 jQuery(document).ready(function($) { var currentMap;var lat;var log;var l
有人知道如何解决这个问题吗?.apply是Function.prototype的一部分,在普通对象中不可用 让我告诉你,你在这里做什么
jQuery(document).ready(function($) {
var currentMap;var lat;var log;var latlongarray;var latitude;
var longitude;var count = 0;var name;var number;var country;
var maps;var address;var marker;var batch = [];
showTooltip = function(marker) {
tooltip.innerHTML = marker.tooltip;
var point = currentMap.getCurrentMapType().getProjection()
.fromLatLngToPixel(currentMap.fromDivPixelToLatLng(
new GPoint(0, 0),true),currentMap.getZoom());
var offset = currentMap.getCurrentMapType().getProjection()
.fromLatLngToPixel(marker.getPoint(),
currentMap.getZoom());
var anchor = marker.getIcon().iconAnchor;
var width = marker.getIcon().iconSize.width;
var height = tooltip.clientHeight;
var pos = new GControlPosition(G_ANCHOR_TOP_LEFT,
new GSize(offset.x - point.x - anchor.x + width,
offset.y - point.y - anchor.y - width));
pos.apply(tooltip);
tooltip.style.visibility = "visible";
}
initialize = function() {var tim = (new Date).getTime();
var provNum = $("input[name='providerNumber']").val();
$.getJSON('newmap.do?t=' + tim+ '&providerNumber='+ provNum,
function(data) {$.each(data,function(i,item) {
address = item.name + item.address;
name = item.name;
latitude = item.lattitude;
longitude = item.longitude;
number = item.number;
var icon = new GIcon();
icon.image = "images/pin.png";
icon.iconAnchor = new GPoint(16,16);
icon.infoWindowAnchor = new GPoint(16,0);
icon.iconSize = new GSize(32,32);
icon.shadowSize = new GSize(59,32);
marker = new GMarker(new GLatLng(item.lattitude,
item.longitude),{
draggable : true,
icon : icon
});
lat = item.lattitude;
log = item.longitude;
marker.disableDragging();
batch.push(marker);
marker.tooltip = "<div class='tooltip'>"+item.name+
'<br>'+ item.number+'<br>BEDS:'+ item.bed
+ '<br>DSH: '+ item.dsh+ "</div>";
GEvent.addListener(marker,"mouseover",function() {
showTooltip(marker);
});
GEvent.addListener(marker,"mouseout",function() {
tooltip.style.visibility = "hidden";
});
GEvent.addListener(marker,"mouseout",function() {
tooltip.style.visibility = "hidden";
});
});
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map-c"));
map.setCenter(new GLatLng(lat,log),11);
tooltip = document.createElement("div");
map.getPane(G_MAP_FLOAT_PANE).appendChild(tooltip);
tooltip.style.visibility = "hidden";
map.setUIToDefault();
mgr = new MarkerManager(map);
mgr.addMarkers(batch,2);
mgr.refresh();
currentMap = map;
}
});
});
}
if (jQuery.browser.safari&& document.readyState != "complete") {
initialize();
}
});
您正在从new GControlPosition
创建对象,并且在此对象上。应用不可用发布的代码来自,该版本不应用于新代码。
var obj = {i : 10}
obj.apply(this); //Uncaught TypeError: obj.apply is not a function