在 2.1 版本的 api 中,有一个 RemoteObjectManager 类,它在移动地图时独立请求数据。在第三版 api 中是否有类似的情况?
大家好!
后端请求后处理时需要从客户端IP(v4/v6)获取国家和城市。唉,不可能使用购买的MaxMind GeoIP和 GeoLite,根据评论,不能很好地处理其任务。该项目由 Yandex Maps 前端使用。这就是为什么我想知道是否可以使用它们通过 IP 获取位置。
Yandex 有一个 JS API,可用于通过ymaps.geolocation.get(...)获取用户坐标。但问题是这个方法不接受IP。还有Geocoder HTTP API - 但它也不能用于通过 IP 请求位置。
也许,Yandex Maps API 可以在前面使用,并且可以将位置添加到客户端请求中,但是如果移动应用程序出现,您将不得不想出一些办法。因此,在一个地方(后端)实现这样的转换似乎是合理的。
请告诉我是否可以使用 Yandex Maps 通过 IP 获取位置,或者商业开发的可能替代方式
请帮忙,我们使用 Yandex api 3 在网站上下订单。但是不可能创建一个方便的选项来通过拖动相机来确定点 - 有没有办法以某种方式了解地图已停止移动,以便在拖动地图完成后,我们可以参考中心标记并对坐标进行地理编码?比如听YMapCamera的动静之类的?
在 Yandex 地图的 JS API v3 中,添加自定义标记时,该标记会在比例发生变化时“移开”;在第二个版本中,有一个 iconImageOffset 属性用于此目的:
var placemark2 = new ymaps.Placemark(
[37.6, 55.8],
{},
{
iconLayout: 'default#image',
iconImageHref: '/path/to/icon.png',
iconImageSize: [20, 30],
iconImageOffset: [-10, -20]
}
);
据我了解,在第三个版本中,没有这样的属性:
const marker = new YMapMarker(
{
source: 'markerSource',
coordinates: [37.588144, 55.733842],
draggable: true,
mapFollowsOnDrag: true
},
markerElement
);
这个问题有解决办法吗?
大家好,我试图根据点击事件关闭气球,但它根本不想关闭。如果我离开 setTimeout(function () { myMap.balloon.close(); }, 3000); 然后一切工作正常,但由于超时,即使我使用命令 myMap.balloon.events.close(),它也不起作用;,那么它就会完成它的任务,但是浏览器会报错 placemark_layout.js:6718 Uncaught TypeError: myMap.balloon.events.close is not a function。我究竟做错了什么? https://jsfiddle.net/bgrm497t/
InstDriverCollection.events.add('click', function (e) {
// setTimeout(function () { myMap.balloon.close(); }, 3000);
myMap.balloon.close();
})