gpt4 book ai didi

javascript - 虚拟地球未捕获类型错误 : undefined is not a function

转载 作者:行者123 更新时间:2023-12-03 11:59:07 24 4
gpt4 key购买 nike

我正在尝试在 JQuery UI 选项卡中延迟加载虚拟地球 map 。我在另一个选项卡中还有一个 Google map 。我想做的是,当用户移动任一 map 时,使两个 map 都匹配中心位置。这是我尝试做虚拟地球的方式

var vemap;

//Lazy Load the Virtual Earth API
function loadMapControl() {
var script = document.createElement("script");
script.setAttribute("src", "http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&onScriptLoad=initMap");
script.setAttribute("type", "text/javascript");
document.getElementsByTagName("head")[0].appendChild(script);
};

//Now load the Map
function initMap() {
var StartPoint = new Microsoft.Maps.Location(currentLat, currentLng);
vemap = new Microsoft.Maps.Map(document.getElementById("ve-map-canvas"),
{credentials:"<creds>",
center: StartPoint,
zoom: gemap.getZoom(),
mapTypeId: Microsoft.Maps.MapTypeId.birdseye,
disableBirdseye:true,
showMapTypeSelector:false});

Microsoft.Maps.Events.addHandler(vemap, 'viewchangeend', veChanged);
};

function veChanged() {
var localMap = this.target;
var point = new GeoPoint(localMap.GetCenter().Longitude, localMap.GetCenter().Latitude);
$("#lat").val(point.getLatDeg());
$("#lng").val(point.getLonDeg());
$("#currentZoom").val(localMap.GetZoomLevel());
currentLat = localMap.GetCenter().Latitude;
currentLng = localMap.GetCenter().Longitude;
currentZoom = localMap.GetZoomLevel();
};

现在,当我重新设置虚拟地球 map 时,会触发 veChanged 事件,但 localMap.GetCenter() 失败并显示“未捕获的类型错误:未定义不是函数”。我也尝试过 vemap.GetCenter() 但得到相同的结果。关于如何访问 vemap 有什么想法吗?

最佳答案

我认为您的问题是您使用了错误的函数名称,请尝试使用 getCenter() 而不是 GetCenter()。请注意,第一个字母是小写的:

var point = new GeoPoint(localMap.getCenter().logitude, localMap.getCenter().latitude);

请注意,我使用的其他标识符的第一个字母也是小写的。

关于javascript - 虚拟地球未捕获类型错误 : undefined is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25480548/

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