再一次:TypeError:a.lat不是谷歌地图API中的函数
Once again: TypeError: a.lat is not a function in google maps api
在我们的网络应用程序中,我们有一个窗口显示我们俱乐部局的位置。工作正常,但标记窗口未显示。单击会产生可怕的 java 脚本错误"TypeError:a.lat 不是一个函数"。
看看我意识到的这类问题的其他答案,坐标必须是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()
中地图的position
属性(请注意,open()
的第一个参数也可能是街景全景,它确实有一个位置属性)导致错误(因为此属性不是 LatLng)。
var map;
// Call this function when the page has been loaded
function initialize()
{
if (arguments.callee.done) return;
arguments.callee.done = true;
var coord = new google.maps.LatLng( 49.87216, 8.63064 );
var 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);
});
}
google.maps.event.addDomListener(window, 'load',initialize);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?v=3&sensor=false"></script>
<div id="map" style="height:300px;width:400px"></div>
请检查片段。我添加了 id = "map" 的div,并且坐标和 js 几乎没有变化。
相关文章:
- Node.js和同步API函数
- 如何从嵌套的API函数返回值
- 骨干Facebook API函数
- 使用react.js从api函数获取json数据
- 在FB.api函数中创建一个数据项目
- jQuery dataTables 使用 fnOpen() API 函数添加多个可折叠行
- 未定义的 youtube API 函数
- 将多个选择值传递给 Javascript API 函数
- JavaScript API 函数名称最佳实践
- 检查当前浏览器是否支持JS API函数
- 在node.js中导出这些REST API函数
- 调用ng-erepeat内部的API函数,提示错误.达到10$digest()迭代.在angularjs中中止
- 使用事件处理程序而不是onClick来激发API函数
- youtube API函数停止工作了
- 子指令的API函数被添加到childHead
- JavaScript内置语言特性或API函数在严格模式下引用undefined属性时返回undefined
- Google Maps API函数没有及时返回结果
- Javascript / Google自定义搜索API -函数触发两次
- 如何从谷歌地图API函数中获得javascript lat/lng变量
- 没有API函数可以编写YouTube对象的脚本