`
happysoul
  • 浏览: 401735 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Google Map API V3 (一) 显示一个点,OO思想写一个属于自己的JS

阅读更多
为了避免代码污染,js部分使用了 (function(){})()方法私有化了方法,并将方法赋给了全局变量 $G,$O,$M,$L,$I 以供调用,因为不同的js库命名规则不同,每次修改只需要将最开始的变量初始化及方法内对外公开方法的赋值字母同时改变就可减少代码冲突

这里地图我使用了$G获得了function方法内的 MP对应的功能函数
MP定义了一个数组,区别于java的数组,js可以使用字符串作为函数或变量的编号,同时js的数组可以同时存在不同的类型(字符串,数组,List,function等)

I中 infos:[] 减少了页面变量的初始化,即在使用多个marker点击事件触发时可以通过闭包方法使用不同的info信息框显示
关于js的执行:js先会初始化所有的变量,而且内存中只会存在一份变量,类似 var s = i;之类的赋值也是地址的赋值
可以参考:http://happysoul.iteye.com/blog/1280900

其实写一个自己的map类对于一个页面来说会增加不少多余代码,不过当你项目中大量使用同一个重复的代码的时候可以减少重复代码的编写

第一部分先写这么多把,主要是基础部分的整合,地图右键点击显示功能菜单完善中....

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Google 地图 JavaScript API 示例: 简单的地图</title>
<style>
html,body{height:100%;margin:0;padding:0;}
#map_canvas{height:100%;}
@media print{
	html,body{height:auto;}
	#map_canvas{height:600px;}
}
</style>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=zh-CN"></script>
<script type="text/javascript">

// map.js  start
var $G,$O,$M,$L,$I;
(function(){
O = function (id) {
	return "string" == typeof id ? document.getElementById(id):id;
};
MP = {
	y:39.9,
	x:116.4,
	point:function(y,x){
		return new google.maps.LatLng(y,x);
	},
	getCanvas:function(id){
		var mapid = id?id:'map_canvas';
		return document.getElementById(mapid);
	},
	options:function(center,z){
		return {
			zoom: z?z:14,
			center: center?center:this.getCenter(),
			navigationControl: true,
			scaleControl: true,
			streetViewControl: true,
			mapTypeId: google.maps.MapTypeId.ROADMAP
		}
	},
}

M = {
	mark:function(map,latLng,title){
		if(title)
		return new google.maps.Marker({
			icon: this.icon,
			position: latLng,
			map: map,
			title:title
		});
		else 
		return new google.maps.Marker({
			//icon: this.icon,
			position: latLng,
			map: map
		});
	}
}

I = {
	infos:[],
	add:function(info,latLng,w,h){
		if(w&&h)
		return new google.maps.InfoWindow({
			content: info,
			size: new google.maps.Size(w,h),
			position: latLng
		});
		else if(latLng)
		return new google.maps.InfoWindow({
			content: info,
			position: latLng
		});
		else
		return new google.maps.InfoWindow({
			content: info
		});
	}
}

//event 事件
L = {
	listen:null,
	add:function(dom,event,fn){
		return google.maps.event.addDomListener(dom, event, fn);
	}
}

$G = MP;
$O = O;
$M = M;
$L = L;
$I = I;
})();
// map.js  end
//以上的js建议抽取出来存为map.js再引入项目使用,以增加通用性


//初始化坐标
$G.y=39.9126328872148;
$G.x=116.44053633792112;

var inf = "蒼井空はどこ?";
var point = $G.point($G.y,$G.x);
var info = $I.add(inf,point);
var map;
function initialize(){
	map = new google.maps.Map($G.getCanvas("map_canvas"), $G.options(point,15));	//初始化地图
	var mark = $M.mark(map,point,"ここにいるよう");
	info.open(map);
	$L.listen = $L.add(mark,"click",function(){info.open(map)});	//给标记点添加一个点击事件
}
</script>
</head>
<body onload="initialize()">
<div id="map_canvas"></div>
</body>
<script>
</script>
</html>


0
0
分享到:
评论

相关推荐

    谷歌地图Google Map API V3中文开发文档

    谷歌地图 Google Map API V3 是一个基于 JavaScript 的 API,允许开发者在自己的网站或应用程序中嵌入谷歌地图。该 API 提供了一个强大的地图引擎,支持多种类型的地图、标记、路线规划、地标显示等功能。 在谷歌...

    google map api v3源码

    由于这个压缩包名为"WebMap",里面可能包含了一个简单的web应用,展示如何使用谷歌地图API V3来创建一个网页地图。开发者可以通过分析和学习这个源码,了解上述知识点的实际应用,并进一步扩展自己的地图应用开发...

    谷歌地图API-google map api v3

    ### 谷歌地图API V3 - 详细知识点解析 #### 概述 谷歌地图API V3(Google Maps API V3)是谷歌提供的一套强大的工具和服务集合,旨在帮助开发者在网页上集成交互式地图。它支持多种功能,如自定义地图样式、添加...

    谷歌MAP_V3中文详解以及一个简单例子

    本教程将对谷歌地图API V3进行深入的中文解析,并提供一个简单的示例来帮助理解其基本用法。 首先,我们要了解如何引入谷歌地图API。在HTML文件中,我们需要在`&lt;head&gt;`标签内添加一个`&lt;script&gt;`标签,指定API的URL...

    Google Map api V3 (3.9.12)的离线开发包

    Google Map API V3(3.9.12)是谷歌提供的一个用于在网页上嵌入交互式地图的服务,它是Google Maps JavaScript API的第三个主要版本。这个离线开发包允许开发者在没有网络连接的情况下进行地图应用的开发和测试,这...

    经典教程:JavaScript调用Google Map API V3

    在文档加载完成后,通过JavaScript定义地图的属性,如缩放级别、中心点坐标和地图类型(ROADMAP、SATELLITE、HYBRID或TERRAIN),并实例化一个`google.maps.Map`对象。 - **添加标记和路径**:你可以添加自定义的...

    Google Maps API V3 中文参考文档(JavaScript)

    Google Maps API V3 中文参考文档(JavaScript) Google Maps API V3 是 Google Maps 提供的一款强大的地图应用程序接口,允许开发者在网站或应用程序中轻松嵌入谷歌地图。该 API 的 JavaScript 版本提供了丰富的...

    google map api v3 ExtDraggableObject

    谷歌地图API V3是Google为开发者提供的一种强大的工具,用于在网页上集成和操作地图。在API中,`ExtDraggableObject`是一个自定义扩展类,它允许用户将地图上的对象(如标记、覆盖物等)进行拖放操作,极大地增强了...

    Google_Maps_API_V3.rar_Google Maps api v3_谷歌地图

    Google Maps API V3 是谷歌为开发者提供的一个强大工具,用于在网站或应用程序中集成交互式地图功能。这个API允许开发人员自定义地图显示的内容、样式以及交互方式,从而构建出各种基于地理位置的应用。在Google ...

    Google Map V3 API

    **Google Map V3 API**是谷歌提供的一种用于在网页中集成地图功能的接口,它允许开发者利用JavaScript语言创建交互式的地图应用。这个API是Google Maps API的第三个主要版本,提供了更多的功能、更好的性能以及更...

    google Map api v3学习例子

    在本教程中,我们将深入探讨"Google Maps API V3",这是一个强大的工具,允许开发者在网页上集成交互式地图功能。Google Maps API V3是该服务的最新版本,具有更小的体积、更快的加载速度以及更丰富的功能。我们将...

    google map api学习

    首先,你需要在Google Developers Console中注册一个项目,并启用Google Maps JavaScript API,获取API密钥。这个API密钥是连接你的应用和谷歌地图服务的桥梁,确保你的应用能够合法地使用API资源。 谷歌地图API...

    Google Map Api

    最新版的Google Map API是V3,它是一个基于JavaScript的API,具有高度可定制性和灵活性。 在Google Map API V3中,开发者可以实现以下主要功能: 1. **地图嵌入**:通过简单的HTML和JavaScript代码,可以在网页上...

    Google Map API 使用示例

    首先,要使用 Google Map API,你需要在 Google Cloud Platform 上创建一个项目,并启用 Maps JavaScript API。获取 API 密钥是关键步骤,它会授权你的应用访问 API 服务。将密钥添加到你的 HTML 或 JavaScript 文件...

    GoogleMap V3 中文 教程

    Google Maps API V3是一个JavaScript库,允许开发者在自己的网站上嵌入交互式地图。相比之前的V2版本,V3更加轻量级,加载速度快,且支持更多的功能特性。V3引入了异步加载,减少了页面初始化时的延迟,同时对移动...

    Google Maps JavaScript API V3 详细教程

    - Google Maps API V3 是一个基于JavaScript的库,允许开发者将动态地图集成到网页中。 - API 提供了丰富的功能,包括地图显示、标记、路径绘制、地理编码、街景视图等。 2. **“世界,您好”——创建基本地图** ...

    googleMap V3 中文API

    总的来说,谷歌地图JavaScript API V3是一个强大而灵活的工具,它提供了丰富的功能和自定义选项,让开发者能够构建出复杂的地图应用。中文手册将帮助你理解和运用这些功能,解决在开发过程中遇到的问题。

    GOOGLE MAPapi示例

    Google Maps JavaScript API 是一个功能强大的工具包,允许开发者将交互式的地图嵌入到网页中。通过使用这个API,开发者可以轻松地创建复杂的地理位置应用,包括但不限于显示地图、添加标记、绘制路线等。API提供了...

Global site tag (gtag.js) - Google Analytics