- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Jvectormap 的另一个令人沮丧的问题是,我希望通过 lngLat 专注于页面/ map 加载上的标记,我该怎么做?理想情况下,最好说 focus on this marker 或 focus on latlng。我只会在每张 map 上显示 1 个标记,但我不会只知道 lngLat 或国家/地区代码的 x/y。可能有一种更简单的方法可以做到这一点,因此欢迎提出建议。感谢您在高级方面的帮助
var markers = [ {latLng: [47.774099, -52.793427], name: "loc 1", label: "This blahblah"}]
$(function(){
$('#map1').vectorMap({
map: 'world_mill_en',
scale: ['#C8EEFF', '#0071A4'],
normalizeFunction: 'polynomial',
hoverOpacity: 0.7,
hoverColor: false,
markerStyle: {
initial: {
fill: '#F8E23B',
stroke: '#383f47'
}
},
backgroundColor: '#383f47',
markers: markers,
focusOn:{
latLng: [47.774099, -52.793427],
scale: 5
},
onMarkerLabelShow: function(event, label, index) {
label.html( ''+markers[index].label+'');
}
});
});
最佳答案
我需要和你一样的东西,并且遇到了你没有回答的问题。这是我为自己解决问题而编写的代码(斜线从 jVectorMap 源代码复制、粘贴和修改)。希望对您和其他人有所帮助。
只需将比例、经度和纬度传递给 setFocusLatLng。
我可能会尝试让这个或类似的东西被接受到 GitHub 上的 jVectorMap 项目中,所以以后可能会有更好的方法来做到这一点。
免责声明: map 边缘的点不会居中。不过,它们应该在 View 中。
编辑:根据要求,这是 jsfiddle 上的全部内容: http://jsfiddle.net/BryanTheScott/rs7H5/
编辑:还添加了以下 JS 的其余部分:
$(function(){
var smallMap = $('#my_map_container').vectorMap({
map: 'world_mill_en',
zoomOnScroll: true,
zoomMax:5,
zoomMin:5,
regionStyle: {
initial: {
fill: '#222222',
"fill-opacity": 1,
stroke: '#444444',
"stroke-width": 1,
"stroke-opacity": 0.7
},
hover: {
"fill-opacity": 0.8,
fill: '#333333'
}
},
markerStyle: {
initial: {
fill: "#000000",
"stroke": "#7FC556",
"stroke-width": 2,
r: 3
}
},
markers: [[37.770172,-122.422771]]
});
var mapObj = $('#my_map_container').vectorMap('get', 'mapObject');
mapObj.setFocusLatLng = function(scale, lat, lng){
var point,
proj = jvm.WorldMap.maps[this.params.map].projection,
centralMeridian = proj.centralMeridian,
width = this.width - this.baseTransX * 2 * this.baseScale,
height = this.height - this.baseTransY * 2 * this.baseScale,
inset,
bbox,
scaleFactor = this.scale / this.baseScale,
centerX,
centerY;
if (lng < (-180 + centralMeridian)) {
lng += 360;
}
point = jvm.Proj[proj.type](lat, lng, centralMeridian);
inset = this.getInsetForPoint(point.x, point.y);
if (inset) {
bbox = inset.bbox;
centerX = (point.x - bbox[0].x) / (bbox[1].x - bbox[0].x);
centerY = (point.y - bbox[0].y) / (bbox[1].y - bbox[0].y);
this.setFocus(scale, centerX, centerY);
}
}
mapObj.setFocusLatLng(5, 37.770172,-122.422771);
});
关于javascript - Jvector map,如何聚焦在一个标记上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14728371/
我使用过Jvectormap,它运行良好。现在,如果我单击显示国家/地区名称的国家/地区,则其工作功能。 我创建了特定国家的简单数据库。通过 ajax 连接数据库,运行良好。它显示警报消息数据库创建的
因此,在 JVector map 中,我需要一个将每个区域链接到一个 URL 的函数。因此,如果您单击南非,它将带您进入包含有关南非信息的页面。我知道从 onRegionClick: function
我正在使用JVector Map插件。我想更改它在悬停后显示的区域名称(在黑色工具提示中)的文本大小。 这是我的 Javascript 代码(如果需要): $('#world-map').vecto
我正在使用JVectorMap显示美国 map 并希望在 5 个城市上放置标记。我的代码中有它们的经度和纬度,但它似乎不起作用。我看到 map 左上角有标记。我不确定为什么它们被放置在那里,而不是在我
您好,我正在使用 JVector Map,我知道我的问题之前可能有人问过,而且我还找到了这篇文章 jvectormap markers label image也是,但我的问题还是没有解决 我想在鼠标悬
我正在尝试使用 jvectormap,它接受格式为 ISO 3166-1 alpha-2 国家代码的输入。 我的输入是国家名称的形式。我已经检查了 JavasSript 中的名称到代码转换器,但没有。
我想在 JVector map 上创建自定义标记。我的想法是使用 CSS3 来显示一个简单的红色脉动环。 到目前为止我只能使用 onMarkerLabelShow: function(event, l
Jvectormap 的另一个令人沮丧的问题是,我希望通过 lngLat 专注于页面/ map 加载上的标记,我该怎么做?理想情况下,最好说 focus on this marker 或 focus
希望有人能帮帮我。我发现这个不错的 jQuery 插件可以在我们的 Intranet 中显示矢量图,但我无法创建 HTML 代码来让它工作。 http://jvectormap.owl-hollow.
我正在尝试从标记数组中获取数据并在 onmarkerclick 函数上调用它,这样我就可以在单击标记后转到 URL,但我尝试的一切似乎都失败了。我希望在标记数组中添加一个 URL 并将其返回到 onm
我正在关注http://jvectormap.com/maps/countries/usa/ map 来实现。它很简单并且有很好的文档记录。但是有一个区域选择 map ,它使用不同大小的标记,这里是链
我在 ul 中有一个国家/地区列表,当单击它们时,我试图在 map 上突出显示它们 - 我遇到的问题是,当单击另一个国家/地区时,我想取消选择所有国家/地区,只突出显示该国家/地区。目前,如果您单击另
我目前使用 Jvcetor Map 在 IE8 浏览器中显示错误。文档模式和浏览器模式不同显示错误。但两者的工作方式相同这里附上我的代码: Country Foot
我正在使用jvector maps客户网站上的 map ,他们知道希望我将其转换为 Concrete5,以便他们可以自行编辑。一切都很顺利,直到我尝试重新创建我使用 jVector map 的页面。当
我试图在 map 上的任何标记之间线的末端绘制一个箭头。我正在使用 svg 创建线条: var map = $('#map').vectorMap('get', 'mapObject'); var d
我有以下代码来初始化 JVector map : map = new jvm.WorldMap({ map: 'us_aea_en', // bac
我在编码美国 map 时遇到问题,该 map 允许使用 JVector API 将颜色随机分配给美国各州 map 。这是代码: /*it does n
我知道谷歌地图有标记来突出显示 map 中的某些点。由于某种原因,我不太愿意将这种类型的 map 放在我的网站上,并且喜欢 jvector map 效果。但我无法弄清楚如何在 jVectorMap 中
我正在使用一个名为 jVectorMap 的 jQuery 插件。具体来说,我正在使用这张 map :http://jvectormap.com/maps/world/world/ 每个国家/地区都有
我需要创建以下 josn var Zone = { 'allzones': { "AD":[1, '2G,3G', 1], "AE":[1, '2G,3G,LTE', 2],
我是一名优秀的程序员,十分优秀!