活着的死人 发表于 2015-1-18 11:03:39

发布一篇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来展现。

再见西城 发表于 2015-1-20 13:19:53

是一种将安全性(Security)列为第一优先考虑的语言

只想知道 发表于 2015-1-27 06:14:37

吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧

仓酷云 发表于 2015-1-29 06:13:49

是一种使网页(Web Page)产生生动活泼画面的语言

小女巫 发表于 2015-2-5 18:51:22

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

变相怪杰 发表于 2015-2-13 04:37:43

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

爱飞 发表于 2015-3-3 13:36:30

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。

因胸联盟 发表于 2015-3-11 11:05:58

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

飘飘悠悠 发表于 2015-3-18 07:30:30

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

兰色精灵 发表于 2015-3-25 13:17:49

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
页: [1]
查看完整版本: 发布一篇google map利用自界说Marker在舆图上增加笔墨标示