谷歌地图使用

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>谷歌地图测试</title>
<style type="text/css">
#gmap{ width: 640px; height: 480px; }
</style>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
</head>

<body>
	<input id="form_lat" type="hidden" name="lat" value="" />
    <input id="form_lng" type="hidden" name="lng" value="" />
	<input id="form_addr" type="text" name="addr" value="北京天安门" /><input id="form_position" type="button" value="定位" />
	<div id="gmap"></div>
</body>
<script type="text/javascript">
window.onload = function()
{
	document.getElementById("form_position").onclick=function(){
		var addr = document.getElementById(‘form_addr‘).value;
		gmap.setPoint(addr);
	};
	var addr = document.getElementById(‘form_addr‘).value;
	gmap.init(‘gmap‘, {‘addr‘: addr, ‘mtitle‘: ‘北京‘, ‘mcontent‘: ‘这里是天安门‘});
}

var gmap = {
	// 初始值
	map: null, 
	point: null, 
	marker: null,

	opt: {
		addr: ‘‘,
		lat: null,
		lng: null,
		mtitle: ‘‘,
		mcontent: ‘‘,
		form_lng: ‘form_lng‘,
		form_lat: ‘form_lat‘
	},

	init: function(gmapId, option){
		// 初始参数
		for(var k in option){
			this.opt[k] = option[k];
		}

		// 初始地图
		var lat = this.opt.lat ? this.opt.lat : 11.530653202560947;
		var lng = this.opt.lng ? this.opt.lng : 104.90425376000007;
		this.point = new google.maps.LatLng(lat, lng);
		this.map = new google.maps.Map(document.getElementById(gmapId), {
			center: this.point,
			zoom: 15,
			mapTypeId: google.maps.MapTypeId.ROADMAP
		});
		this.setMarker();

		if( this.opt.addr != ‘‘ ){
			this.setPoint(this.opt.addr);
		}
	},

	setMarker: function(){
		var self = this;
		// 添加标记.
		if( !this.marker ){
			this.marker = new google.maps.Marker({
				position: this.point,
				draggable: true,
				map: this.map,
				title: ""
			});
		}else{
			this.marker.setPosition(this.point);
		}

		// Marker添加点击事件
		if( this.opt.mtitle != ‘‘ ){
			var contentString = ‘<div id="content"><h1>‘+this.opt.mtitle+‘</h1>‘+
				‘<p class="mapStyle">‘+this.opt.mcontent+‘</p></div>‘;
			var infowindow = new google.maps.InfoWindow({
				content: contentString
			});
			google.maps.event.addListener(self.marker, ‘click‘, function () {
				infowindow.open(self.map, self.marker);
			});
		}
		// 获取坐标
		google.maps.event.addListener(self.marker, "dragend", function() {
			self.point = self.marker.getPosition();
			self.map.setCenter(self.point);
			var lat = self.point.lat();
			var lng = self.point.lng();

			document.getElementById(self.opt.form_lng).value = lng;
			document.getElementById(self.opt.form_lat).value = lat;
		});
	},

	setPoint: function(addr){
		// 根据地名来获取经纬度
		var self = this;
		var addr = addr ? addr : ‘柬埔寨‘;
		var geocoder = new google.maps.Geocoder();
		geocoder.geocode({‘address‘: addr}, function(results, status) {
			if (status == google.maps.GeocoderStatus.OK) {
				self.point = results[0].geometry.location;
			} else {
				var lat = 11.530653202560947;
				var lng = 104.90425376000007;
				self.point = new google.maps.LatLng(self.lat, self.lng);
			}

			self.map.setCenter(self.point);
			self.setMarker();
		});
	}
}
</script>
</html>

效果如下:

时间: 2024-10-10 06:05:25

谷歌地图使用的相关文章

Odoo Website 替换 谷歌地图为 百度地图

由于众所周知的原因,国内使用谷歌地图是件非常痛苦的事,更为接地气的做法是替换为百度地图. 模块地址参见群公告.

谷歌地图api访问失败

在非外网情况下,我们调用谷歌api会出现加载不到地图的现象,此时可以换一下域名试试也许就好了 比如我自己访问api时时这样写的: https://maps.googleapis.com/maps/api/js?key=. . . &sensor=true 此时访问时是加载不到地图的. 如果我将maps.googleapis.com换成ditu.google.cn就可以正常加载地图了, 或是在https://maps.googleapis.com/maps/api/js?后面加上v=3.exp也就

免费下载谷歌地图高清卫星地图

免费下载谷歌地图高清卫星地图 特别BIGEMAP地图下载器提供了多种选择的下载方式,方便用户得到不同的应用当中: 1.矩形框选择区域下载 2.多边形选择区域下载 3.根据行政区(省市县区)域边界选择下载 4.导入外部边界文件下载(支持kml/kmz/shp格式) 5.标准分幅下载 6.指定矩形框经纬度范围下载 本文主要介绍应用多边形如何下载想要的区域 第一步:选在多边形工具 打开BIGEMAP软件,在软件的最上面工具栏选择[],单机左键选择. 第二步:通过单击[鼠标左键]在地图上任意位置开始绘制

【转】Android 国内集成使用谷歌地图

由于众做周知的原因在国内使用谷歌地图不太方便,在开发中如果直接使用会出现些问题.但国内的如百度地图,高德地图等都无法提供详细的国外地图数据,所以研究一下喽,,, 使用 Google Maps Android API v2 使用谷歌提供的SDK,Android Studio开发. 首先保证SDK Manager中 Google Play service服务已经安装.  2.新建一个工程GoogleMapDemo,然后File ->Project Structure->[app]->->

点击按钮显示谷歌地图

原文:点击按钮显示谷歌地图 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication.WebForm1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

Python查询一个城市的谷歌地图的经度和纬度

Python查询一个城市的谷歌地图的经度和纬度 设置Python环境 shou#!/usr/bin/env  python 编写脚本 import argparseimport osimport urllibimport requestsERROR_STRING = '' def find_lat_long(city):""" Find geographic coordinates """# Encode query string into Go

在AngularJS中使用谷歌地图把当前位置显示出来

如何使用谷歌地图把当前位置显示出来呢? --在html5中,为我们提供了navigator.geolocation.getCurrentPosition(f1, f2)函数,f1是定位成功调用的函数,f2是定位失败调用的函数,而且会把当前的地理位置信息作为实参传递给f1和f2函数.f1函数调用谷歌地图的API即可. 如何展示呢? --需要一个提示信息和展示地图的一个区域. 页面上,大致是这样: <map-geo-location height="400" width="

谷歌地图聚合点

我们有时候需要观察地图 不同地方数据的所在范围和分布密集情况,热力图和聚合点的使用无疑是最好的选择. 1.首先说说百度地图,只做国内的地图可以使用百度地图的海量点和热力图还是蛮好用的. a.海量点的最大好处是加载很多数据点的情况下不卡顿. b.如果是画mark在地图上,当点多的时候,会很卡. c.我之所以用谷歌地图的热力图,是因为我发现百度地图的热力图没有叠加功能,满足不了我的需求.比如说我想了解全国姓张,李,王的人的对比分布,我想要姓张的区域显示红色,姓李的显示蓝色,姓王的显示橙色.这个需求百

谷歌地图换接口的新闻

Google发布新版谷歌地图嵌入API 提供位置和外观定制选项 谷歌于今日推出了新的嵌入式地图API--Google Maps Embed API--而开发者们也可以在自己的网站中,嵌入其所生成的HTML代码.该API提供了位置和外观的定制选项,以及几个简单的URL参数.如此一来,使用者就能够采用相同的设置,快速建立起多个地图. 去年11月的时候,Google首次带回了自由使用无限制的谷歌地图嵌入功能.当时,该公司还更新了服务条款的内容(Google Maps/Earth APIs Terms)

Android 国内集成使用谷歌地图

extends:http://blog.csdn.net/qduningning/article/details/44778751 由于众做周知的原因在国内使用谷歌地图不太方便,在开发中如果直接使用会出现些问题.但国内的如百度地图,高德地图等都无法提供详细的国外地图数据,所以研究一下喽,,, 使用 Google Maps Android API v2 使用谷歌提供的SDK,Android Studio开发. 首先保证SDK Manager中 Google Play service服务已经安装.