javascript - 在 NativeScript 应用程序中向 map 添加标记

标签 javascript google-maps nativescript

我正在使用 nativescript-google-maps-sdk 构建 NativeScript 应用程序.

我已经为 coordinateTapped 事件添加了一个事件监听器,现在它正在工作,我想在 map 上我点击的位置绘制一个标记。

我在网上或 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);
}

注意:由于没有 nativescript-google-maps 标签,我已使用 google-maps 标签标记此问题。

最佳答案

回答此类问题永远不会太晚。

问题是 args 对象没有 latitudelongitude 属性,因此您正在尝试添加标记纬度和经度为未定义

在函数 onCooperativeTapped(args) 中,您可以访问两个不同的位置

首先,args.object.latitudeargs.object.longitude

var lat = args.object.latitude;
var lng = args.object.longitude;

这些属性代表 map 的当前位置(你知道,它的中心)。

第二,args.position.latitudeargs.position.longitude

var lat = args.position.latitude;
var lng = args.position.longitude;

在本例中,这些属性代表您在 map 上点击的实际位置

此外,这也适用于cooperativeLongPress

关于javascript - 在 NativeScript 应用程序中向 map 添加标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41932538/

相关文章:

javascript - 如何使用 django 创建 GPS 位置小部件?

android - 在 NativeScript for Android 中使用边框

ios - 当应用在后台时,iOS 上不显示通知(使用 Firebase 发送)

javascript - 如何在单击按钮时切换隐藏/显示具有相同类名的所有元素

javascript - 在解析中创建或更新对象

python - Google App Engine 中的 Google map 上未显示标记

google-maps - 有没有一种简单的方法可以在 Google map 上突出显示某个区域?

JavaScript Isotope - 如何智能地创建多组过滤器以在一个容器上协同工作?

javascript - 删除除 Socket.io 中特定事件监听器之外的所有事件监听器

android - 如何在 nativescript 中设置最大高度?