Javascript 在NativeScript应用程序中将标记添加到地图
我正在使用构建一个Javascript 在NativeScript应用程序中将标记添加到地图,javascript,google-maps,nativescript,Javascript,Google Maps,Nativescript,我正在使用构建一个NativeScript应用程序 我已经为coordinateTapped事件添加了一个eventlistener,现在它正在工作我想在地图上点击的位置绘制一个标记 我在网上或sdk文档中找不到这方面的示例。 我觉得我很接近,只是有一些小的修正要做 var mapsModule = require("nativescript-google-maps-sdk"); function onCoordinateTapped(args) { console.log("coor
NativeScript
应用程序
我已经为coordinateTapped
事件添加了一个eventlistener,现在它正在工作我想在地图上点击的位置绘制一个标记
我在网上或sdk文档中找不到这方面的示例。
我觉得我很接近,只是有一些小的修正要做
var mapsModule = require("nativescript-google-maps-sdk");
function onCoordinateTapped(args) {
console.log("coordinate tapped!");
var mapView = args.object;
var marker = new mapsModule.Marker();
marker.position = mapsModule.Position.positionFromLatLng(args.latitude,args.longitude);
mapView.addMarker(marker);
}
注意:我已经用
google maps
标记了这个问题,因为没有nativescript google maps
标记。嘿@Danoram您编写的代码看起来很不错,虽然没有XML文件,但我想您已经使用coordinateEvent传递了回退功能类似
这对你来说是可行的还是你正在经历某种错误/意外行为?从你的帖子中不完全清楚问题在哪里…永远不要回答此类问题为时已晚 问题是
args
对象既没有纬度
属性,也没有经度
属性,因此您试图添加一个纬度和经度为未定义
的标记
在您的函数中,可以访问两个不同的位置
首先,args.object.latitude
和args.object.longitude
var lat = args.object.latitude;
var lng = args.object.longitude;
var lat = args.position.latitude;
var lng = args.position.longitude;
这些属性代表地图的当前位置(你知道,地图的中心)
其次,args.position.latitude
和args.position.longitude
var lat = args.object.latitude;
var lng = args.object.longitude;
var lat = args.position.latitude;
var lng = args.position.longitude;
在本例中,这些属性表示点击在地图上的实际位置
另外,这对协调长按也有效。你好,尼克,是的,你是对的。我已将回调函数设置为
coordinateTapped
事件。当前的功能是,当我点击设备上的屏幕时,控制台输出“坐标点击!”,但不放置标记。一旦我获得Google API密钥,将尝试测试插件演示。。同时,如果它适用于您的情况,您可以使用其他插件,如nativescript geolocation。这里是如何添加标记的示例。一旦我有机会测试nativescript google maps sdkThanks@Nick,我会在下次有机会时尝试使用地理定位插件。我和我的朋友最终试图通过该应用程序实现的是使用谷歌地图的“交通层”功能来确定两点之间的旅行时间。我甚至不确定使用nativescript maps sdk是否可以做到这一点。感谢您抽出时间来写这篇文章!