发布一篇google map利用自界说Marker在舆图上增加笔墨标示
一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。googlemap默许的标示GMarker,只能利用图片不克不及利用笔墨。可是在实践中,我们不成制止的必要在舆图上标示笔墨信息。比方地名等。Google舆图API使我们能够经由过程扩大GMarker完成自界说的GMarker的子类LabelMarker。
1 google.maps.LabelMarker = function(latlng, options)
2 {
3 this.latlng = latlng;
4 this.labelText = options.labelText || ;
5 this.labelClass = options.labelClass || writeb;
6 this.labelOffset = options.labelOffset || new google.maps.Size(8, -33);
7 options.icon = options.icon || getTextIcon();
8 google.maps.Marker.apply(this, arguments);
9 }
10
11 google.maps.LabelMarker.prototype = new google.maps.Marker(new google.maps.LatLng(0, 0));
12
13 google.maps.LabelMarker.prototype.initialize = function(map){
14 google.maps.Marker.prototype.initialize.call(this, map);
15
16 var label = document.createElement(div);
17 label.className = this.labelClass;
18 label.innerHTML = this.labelText;
19 label.style.position = absolute;
20 label.style.width = 48px;
21 map.getPane(G_MAP_MARKER_PANE).appendChild(label);
22
23 this.map = map;
24 this.label = label;
25 }
26
27 google.maps.LabelMarker.prototype.redraw = function(force){
28 google.maps.Marker.prototype.redraw.call(this, map);
29
30 if(!force)
31 {
32 return;
33 }
34
35 var point = this.map.fromLatLngToDivPixel(this.latlng);
36 var z = google.maps.Overlay.getZIndex(this.latlng.lat());
37
38 this.label.style.left = (point.x + this.labelOffset.width) + px;
39 this.label.style.top = (point.y + this.labelOffset.height) + px;
40 this.label.style.zIndex = z + 1;
41 }
42
43 google.maps.LabelMarker.prototype.remove = function(){
44 this.label.parentNode.removeChild(this.label);
45 this.label = null;
46 google.maps.Marker.prototype.remove.call(this);
47 }
48
49 function getTextIcon()
50 {
51 var icon = new google.maps.Icon();
52 icon.image = "/js/map/img/mapts.gif";
53 icon.iconSize = new GSize(48, 40);
54 icon.iconAnchor = new GPoint(0, 40);
55 icon.infoWindowAnchor = new GPoint(5, 1);
56 return icon;
57 }
在页面上挪用的代码:
1 var marker = new google.maps.LabelMarker(map.getCenter(), {
2 labelText:我在这
3 });
4
5 map.addOverlay(marker);
如今就会在舆图上显现我们自界说的GMarker标识了。
用java开发web只要两本书:一本是关于java基础的,一本是关于jsp、servlet的就可以了。开发周期长,我就来讲句题外话,现在有很多思想都是通过java来展现。 是一种将安全性(Security)列为第一优先考虑的语言 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 是一种使网页(Web Page)产生生动活泼画面的语言 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
页:
[1]