ArcGIS动态渲染标记的简单示例
ArcGIS simple example dynamically rendering a marker
我很难在ArcGIS中添加一个简单的可点击标记,纯粹使用JavaScript进行映射。所有ArcGIS示例似乎都是从服务器上获取标记和相关弹出信息的如何使用ArcGIS获得与下面的谷歌地图示例代码相同的结果
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<div id="map" style="width: 500px; height: 500px;"></div>
<script type="text/javascript">
window.onload = function() {
var myOptions = {
zoom: 2,
center: new google.maps.LatLng(40, -75),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map"), myOptions);
var icon = new google.maps.MarkerImage("http://cinnamonthoughts.org/wp-content/uploads/2010/01/Custom-Marker-Avatar.png");
var markerOptions = {
icon: icon,
map: map,
position: new google.maps.LatLng(37.7699298, -122.4469157),
};
var marker = new google.maps.Marker(markerOptions);
google.maps.event.addListener(marker, 'click', function() {
var infoWindow = new google.maps.InfoWindow();
infoWindow.setContent("hello world");
infoWindow.open(map, marker);
});
};
</script>
试试这个:
- 为您创建经度和纬度
Point
- 如有必要,将点转换为Web Mercator空间参考
- 为您的自定义图片标记创建图片标记符号
- 使用点和符号创建
Graphic
- 创建
GraphicsLayer
- 将图形添加到图形层
- 将图形图层添加到地图中
- 将自定义onClick事件侦听器添加到层
一些等效代码:
var point = new esri.geometry.Point(longitude, latitude);
point = esri.geometry.geographicToWebMercator(point);
var symbol = new esri.symbol.PictureMarkerSymbol("marker.png", 32, 32);
var graphic = new esri.Graphic(point, symbol);
var layer = new esri.layers.GraphicsLayer();
layer.add(graphic);
map.addLayer(layer);
dojo.connect(layer, "onClick", onClick);
在事件监听器上,您可以打开自定义infoWindow
或任何您喜欢的东西:
function onClick(event) {
map.infoWindow(...)
...
更改"marker.png"和32x32以使用自定义标记图像和尺寸。
尝试使用CSS定位将图像图标放在屏幕X Y上的任何位置,然后将onClick处理程序放在实际的div或IMG标记中。试着用相对和绝对的组合来达到恰到好处的效果。
div#header {
position: relative;
}
img#headimg {
position: absolute;
left: whatever you like
top: whatever you like
}
相关文章:
- Mozilla”;添加“;sdk,简单的pref模块,动态选项(取决于以前选项的选项)
- 最简单的实现方式是网页上的动态更新表(java/css)
- 创建简单的动态数组
- 使用简单的JS动态控制此URL中的参数,以控制内容大小,适合屏幕
- 流星动态创建对象并引用它们?有没有一种简单的方法可以做到这一点
- 简单的Javascript输入表单,具有动态替换的必需字段消息DOM
- 将Facebook共享按钮与动态内容集成的最简单解释
- ArcGIS动态渲染标记的简单示例
- 使用Javascript创建一个简单的动态标题
- 绑定动态元素的简单方法,无需调用函数jquery
- 简单动态指令AngularJS
- 通过Express将动态内容集成到Node.JS上的静态服务页面的最简单方法
- 如何制作一个简单的动态幻灯片/延时
- 如何动态创建一个简单的json数组
- 基于日期比较,使用JQuery(或简单的Javascript)动态修改CSS
- 简单的方式来改变输入字段的视觉顺序动态(不改变表单HTML)
- 简单的动态指令(带有动态控制器和作用域)
- 使用PHP动态创建Javascript的更简单方法
- Magento简单产品页面-使用自定义选项动态更新SKU
- 有什么简单的方法可以用JQueryMobile动态切换主题吗