我想要一点指导,因为我还没有找到我需要的解释。
我正在Google App Maker上开发一个网站,我想在Google Map Widget上使用一个可拖动的标记。
我找到的所有信息都与包含HTML和JavaScript库的外部网站类似。输入时会显示错误:
var marker = new google.maps.Marker({
position: latlon,
map: map,
draggable: true,
title:"Drag me!"
});
“未捕获的TypeError:google.maps.Marker不是构造函数 at var marker = new google.maps.Marker({(NewScript1:143)“。
我尝试过客户端脚本和服务器端脚本。
问题,如果我想使用标记,我需要将库添加到appmaker?
答案 0 :(得分:1)
您很可能会收到错误,因为您在加载Maps API之前正在执行客户端脚本。要100%确定它已加载,您需要在Google Map Widget的onAttach
事件中执行您的代码(也许onDataLoad
也可以。)
如果您希望将App Maker添加到地图中的Marker
默认为可拖动,则可以使用此代码段:
// Google Map widget's onAttach event handler
var marker = widget.getAddressMarkerJs();
marker.setDraggable(true);
如果您想添加全新标记,可以使用此代码段:
// Google Map widget's onAttach event handler
var map = widget.getMapJs();
var marker = new google.maps.Marker({
position: { lat: 0, lng: 0 },
map: map,
draggable: true,
title:"Drag me!"
});
Bonus 代码段从地图中删除默认标记
// Google Map widget's onAttach event handler
var marker = widget.getAddressMarkerJs();
marker.setMap(null);
答案 1 :(得分:0)
如果您想使用Google地图,则需要将其视为App Maker API中的小部件,与您正在使用的Google Maps API略有不同。
如果您查看App Maker API,您将看到如何向地图窗口小部件添加标记以及如何返回它们:https://developers.google.com/appmaker/scripting/api/widgets#GoogleMap