OpenLayers add Marker and Popup
OpenLayers add Marker and Popup
我在使用OpenLayers时遇到问题。我的工作代码是:
<html><body>
<div id="mapdiv"></div>
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script>
map = new OpenLayers.Map("mapdiv");
map.addLayer(new OpenLayers.Layer.OSM());
//var results = new OpenLayers.Layer.Text("My Points", { location:"./checkIns_0_view.txt", projection: map.displayProjection});
//map.addLayer(results);
var query = new OpenLayers.LonLat(-122.2928337167, 37.5549570333).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
var markers = new OpenLayers.Layer.Markers("Markers");
map.addLayer(markers);
var size = new OpenLayers.Size(21,25);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
var icon = new OpenLayers.Icon('http://openlayers.org/dev/img/marker-blue.png', size, offset);
marker = new OpenLayers.Marker(query, icon);
markers.addMarker(marker);
var zoom=16;
map.setCenter (query, zoom);
</script>
</body></html>
现在我想添加一个弹出菜单与一些信息。我试着用了几个例子,比如http://openlayers.org/dev/examples/osm-marker-popup.html.我想添加这样的内容:
var popup = new OpenLayers.Popup.FramedCloud("Popup", query, null, "Text", true);
map.addPopup(popup);
第一行可以编译,但当我添加第二行时,浏览器不会显示我的地图。我认为这可能与查询lonLat有关,但我没有必要的OpenLayers技能来找到它。
我非常感谢你的回答。
问候
-
根据OpenLayers文档,您在弹出构造函数中缺少"Text"和true之间的锚定参数。也许这就是你问题的根源。在弹出窗口示例中,此参数具有null值:
var popup = new OpenLayers.Popup.FramedCloud("Popup", myLocation.getBounds().getCenterLonLat(), null, 'We ' + 'could be here. Or elsewhere.', null, true // true if we want a close (X) button, false otherwise );
在您的情况下,您可以使用变量图标而不是空值。
- 在函数映射.addPopup(popup)中,您也应该有第二个参数独占。请参阅OpenLayers文档dev.OpenLayers.org/docs/files/OpenLayers/Map js.html#OpenLayers.Map.addPopup或此处的此方法定义。我认为使用所有定义的参数是一种很好的做法,因为它经常会产生问题
希望在添加所有参数后,它会起作用。工作弹出窗口的代码:
var popup = new OpenLayers.Popup.FramedCloud("Popup", query, null, "Text", null, true);
map.addPopup(popup, false);
相关文章:
- facebook”;添加评论“;popup获胜'不要消失
- Selenium WebDriver and JavaScript change
- 从popup.js|Chrome扩展访问DOM
- PHP and Javascript functions
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- Javascript Return and if/else
- SetTimeout and clearTimeout in Javascript
- lightbox in html 5 and javascript
- TimelineJS and AngularJS
- timeago.js with datatable and PHP
- javascript button ajax and php
- Ajax and Json with Rails
- Combine onload, onresize and onclick
- php布尔值's小写AND大写和数字布尔值'可以接受
- setTimeout and V8
- Jquery post and onclick
- Moment js and IOS
- Wordpress Custom Post Type Popup—jquery and ajax?
- OpenLayers add Marker and Popup
- fbAlbum2.js, bootstrap-tooltip and Magnific-Popup