可以拖拽,在Google AppMaker上

时间:2018-03-28 21:27:20

标签: marker google-app-maker

我想要一点指导,因为我还没有找到我需要的解释。

我正在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?

2 个答案:

答案 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