在我们的网络应用程序中,我们有一个 window显示我们俱乐部局的位置。除了标记窗口不显示之外,工作正常。单击会产生可怕的 Java 脚本错误“TypeError: a.lat is not a function”。
查看此类问题的其他答案,我意识到坐标必须是 google.maps.LatLng 对象或文字。我几乎确信我遵守了这一点:
var map = null;
// Call this function when the page has been loaded
function initialize()
{
if (arguments.callee.done) return;
arguments.callee.done = true;
var
coord = { lat: 49.87216, lng: 8.63064 },
mapOptions = {
center: coord,
zoom: 17,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: 1,
mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
scaleControl: 1,
scaleControlOptions: {style: google.maps.ScaleControlStyle.DEFAULT, position: google.maps.ControlPosition.BOTTOM_RIGHT},
navigationControl: 1,
navigationControlOptions: {style: google.maps.ZoomControlStyle.ZOOM_PAN, position: google.maps.ControlPosition.RIGHT},
position: google.maps.ControlPosition.BOTTOM_LEFT
};
map = new google.maps.Map(document.getElementById("map"), mapOptions);
marker = new google.maps.Marker({
title: "Fahrradbüro",
position: coord,
map: map
});
kartenFenster = new google.maps.InfoWindow(
{
content: '<div style="text-align: center"><img src="/static/images/images" alt="Fahrradbüro"/><br/>Fahrradbüro<br /></div>'
});
marker.addListener('click', function() {
kartenFenster.open(map, marker);
});
}
但我仍然收到此错误。我在这里缺少什么?我什至尝试过:
var coord = new google.maps.LatLng( 49.87216, 8.63064 );
感谢您的帮助!
最佳答案
将其从 mapOptions
末尾删除:
position: google.maps.ControlPosition.BOTTOM_LEFT
API 还会尝试在 open()
中访问 map 的 position
属性(请注意,open()
的第一个参数也可能是 StreetViewPanorama,它确实有一个位置属性)什么会导致错误(因为这个属性不是 LatLng)。
关于javascript - 再次强调 : TypeError: a. lat 不是 google map api 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35892153/