Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何使用jVector地图插件定位纬度和经度_Jquery_Google Maps_Geolocation_Latitude Longitude_Jvectormap - Fatal编程技术网

Jquery 如何使用jVector地图插件定位纬度和经度

Jquery 如何使用jVector地图插件定位纬度和经度,jquery,google-maps,geolocation,latitude-longitude,jvectormap,Jquery,Google Maps,Geolocation,Latitude Longitude,Jvectormap,我知道谷歌地图有标记来突出地图上的某些点。出于某种原因,我不喜欢把这种类型的地图放在我的网站上,我喜欢jvector地图的效果。但是我不知道如何在jVectorMap中定义标记,有人知道如何在jVectorMap中定义标记并突出这些点吗。我也很想知道如何使用纬度和经度到达矢量地图中的某个点 谢谢。矢量地图就是矢量地图。您需要在lat/lng和向量空间之间创建某种类型的对应关系(例如:1px=1deg)。这将需要定制地图,或对其进行一些精确测量以确定比例。更不用说,你需要确保你使用的是一条平行线,

我知道谷歌地图有标记来突出地图上的某些点。出于某种原因,我不喜欢把这种类型的地图放在我的网站上,我喜欢jvector地图的效果。但是我不知道如何在jVectorMap中定义标记,有人知道如何在jVectorMap中定义标记并突出这些点吗。我也很想知道如何使用纬度和经度到达矢量地图中的某个点


谢谢。

矢量地图就是矢量地图。您需要在lat/lng和向量空间之间创建某种类型的对应关系(例如:1px=1deg)。这将需要定制地图,或对其进行一些精确测量以确定比例。更不用说,你需要确保你使用的是一条平行线,这样平行线就可以表达你认为它们的意思;)


编辑:如果您对谷歌地图有问题,我建议您使用另一种方法,例如,不要尝试扩展jVector地图来做两件它不打算做的事情(打印点和按比例绘制)。

jVectorMap世界地图使用范德格林顿投影。要从地图转换/转换到地图的公式如下所示 和文章

您需要将其缩放到地图的大小和偏移,因为上面的公式将长/纬度(-180到180度)投影到(-1到+1)笛卡尔网格

此外,公式中的角度应以弧度为单位,而不是以度为单位

function vanDerGrinten(lat, lng) {
    lat = lat * Math.PI / 180;
    lng = lng * Math.PI / 180;
    var lng0 = 0;
    var A1 = 0.5 * Math.abs((Math.PI / (lng - lng0) - (lng - lng0) / Math.PI));
    var phi = Math.asin(Math.abs(2 * lat / Math.PI));
    var G = Math.cos(phi) / (Math.sin(phi) + Math.cos(phi) - 1);
    P = G * (2 / Math.sin(phi) - 1);
    Q = A1 * A1 + G;
    x0 = A1 * A1 * (G - P * P) * (G - P * P) - (P * P + A1 * A1) * (G * G - P * P);
    x1 = (A1 * (G - P * P) + Math.sqrt(x0));
    x2 = (P * P + A1 * A1);
    x = sgn(lng - lng0) * Math.PI * x1 / x2;
    y = sgn(lat) * Math.PI * Math.abs(P * Q - A1 * Math.sqrt((A1 * A1 + 1) * (P * P + A1 * A1) - Q * Q)) / (P * P + A1 * A1);
    return { _x: x, _y: y };
}

现在您可以做到这一点了,新版本的jVectorMap(0.2)引入了带有
markers
参数的此类特性。查看这里的演示。

你能编辑标题吗,这个问题与谷歌地图与jvectormap无关。这将误导人们搜索比较。谢谢,您是否将标记生成为svg,我们不能将自己的标记添加为可自定义图像。不幸的是,当前版本中没有。