支持标记拖动,拖动记录经纬度,可通过地址信息获取经纬度。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gbk"/>
<title>Google Maps JavaScript API Example</title>
<script src="http://ditu.google.cn/maps?file=api&v=3&key=AIzaSyAeKuo5dKfiRmBnPuky9K-fuUEWyWjiYv8&sensor=true" type="text/javascript"></script>
<script type="text/javascript">
var $ = function(id){
return document.getElementById(id);
}
String.prototype.trim = function(){
return this.replace(/^\s+/g,"").replace(/\s+$/g,"");
}
var decode = function(){
var latLng = $("lat_lng").value.trim();
if (latLng.indexOf(',') == -1)
{
alert("经纬度格式错误");
return {
lat: 0,
lng: 0
}
}else{
var s = latLng.split(',');
return {
lat: s[0],
lng: s[1]
}
}
}
//创建request对象
var createXMLHttpRequest = function(){
var xmlHttp ;
try {
//使用Msxml的一个版本来创建
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp = false;
}
try {
//使用它的另外一个对象来创建
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
//创建面向其它非微软浏览器的XMLHttpRequest对象
xmlHttp = new XMLHttpRequest();
}
return xmlHttp;
}
var xmlHttp ;
var handleStateChange = function(){
if(xmlHttp.readyState==4 && xmlHttp.status == 200){
var dd = xmlHttp.responseText;
var json = eval(dd);
}
}
var getLatLng = function(){
var address = $('uname').value;
var patrn= /['(' | '('][\w\W]*[')'| ')']/ ;
if(patrn.exec(address)){
address = address.replace(patrn,"");
}
//uri解码地址
address = encodeURI(address);
var url = "http://ditu.google.cn/maps/geo?output=json&oe=utf-8&q="+ address +"&key=AIzaSyAISC7Kveswljca_ezm9AGRbELDKlyYZuI&hl=zh-CN";
xmlHttp = createXMLHttpRequest();
xmlHttp.open("POST",url,true);
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState==4 && xmlHttp.status == 200){
var dd = xmlHttp.responseText;
//var obj = eval('(' + dd + ')');
var obj =JSON.parse(dd);
var vlat = obj.Placemark[0].Point.coordinates[1] ;
var vlng = obj.Placemark[0].Point.coordinates[0] ;
var vlatlng = vlat + "," + vlng;
$('lat_lng').value = vlatlng;
mapShow();
}
};
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send();
}
var test = function(){
var map = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
var latLng = decode();
// var center = new GLatLng(latLng.lat,latLng.lng );
var center = new GLatLng(latLng.lat,latLng.lng );
map.setCenter(center, 13);
var marker = new GMarker(center);
map.addOverlay(marker);
}
var mapShow = function() {
if (GBrowserIsCompatible()) {
var map = new GMap2($("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
var latLng = decode();
var center = new GLatLng(latLng.lat,latLng.lng);
map.setCenter(center, 13);
var marker = new GMarker(center, {draggable: true});
GEvent.addListener(marker, "dragend", function() {
$('lat_lng').value = "";
var custPoint = marker.getPoint();
$('lat_lng').value = custPoint.lat()+ "," + custPoint.lng();
marker.setImage("http://ditu.google.cn/mapfiles/marker.png");
});
map.addOverlay(marker);
}
}
</script>
</head>
<body >
<p>
商户名称:<input type="text" name="uname" id="uname" value="" size="40" /> <input type="button" name="btn_uname" value="查询" onclick="getLatLng()"/>
经纬度:<input type="text" name="lat_lng" id="lat_lng" value="" size="40" /> <input type="button" name="btn_lat_lng" value="查询" onclick="mapShow()" />
</p>
<div id="map" style="width: 800px; height: 500px"></div>
</body>
</html>
分享到:
相关推荐
本示例将深入探讨如何使用 Google Map API,帮助你理解和掌握其核心概念及应用。 首先,要使用 Google Map API,你需要在 Google Cloud Platform 上创建一个项目,并启用 Maps JavaScript API。获取 API 密钥是关键...
谷歌地图 Google Map API V3 中文开发文档提供了一个详细的中文开发指南,涵盖了谷歌地图 Google Map API V3 的使用方法、相关类库、事件处理等方面的知识点。开发者可以根据自己的需求,选择合适的组件和方法来创建...
这个API密钥是连接你的应用和谷歌地图服务的桥梁,确保你的应用能够合法地使用API资源。 谷歌地图API主要基于JavaScript,因此熟悉JavaScript编程基础是必要的。API的核心在于`<script>`标签,其中包含API的URL和你...
9. **权限和密钥管理**:使用Google Map API需要申请API密钥,源代码可能会演示如何正确配置和管理API密钥,避免超出使用限制。 10. **响应式设计**:为了适应不同设备和屏幕尺寸,源代码可能实现了地图的响应式...
在"SampleWebSite"这个压缩包中,可能包含了一个使用Google Map API 和 ASP.NET(C#)开发的示例网站。这个网站可能演示了如何在ASP.NET环境中集成Google Map API,展示如何显示地图、进行地址查询、添加标记等功能。...
### Google Map API 使用详解 #### 一、Google Map API 概览 Google Map API 是一套强大的工具集,允许开发者在其网站或应用中嵌入并定制谷歌地图。这不仅提升了用户体验,也为开发者提供了丰富的地理信息展示手段...
### GOOGLE MAP API 示例知识点解析 #### 一、Google Maps JavaScript API 概述 Google Maps JavaScript API 是一个功能强大的工具包,允许开发者将交互式的地图嵌入到网页中。通过使用这个API,开发者可以轻松地...
总的来说,"google map api v3.18.0 离线开发包"为开发者提供了在无网络环境下使用谷歌地图API的功能,使得地图服务在多种场景下都具备了可行性。通过熟练掌握和应用这个API,开发者可以创建出丰富多样的地图应用。
google map api 实现自定义mark和其移动
Google Map API 是一款由谷歌公司提供的强大工具,用于在网页或移动应用中集成地图功能。这个API允许开发者将交互式地图集成到他们的网站或应用程序中,提供定位、导航、地理编码、路线规划等多种功能。最新版的...
在IT行业中,Google Map API是一个广泛使用的工具,它允许开发者集成地图功能到自己的应用程序中,无论是Web应用还是桌面应用。本示例程序是基于Java语言实现的,它为我们展示了如何利用Google Map API来画点和画线...
由于这个压缩包名为"WebMap",里面可能包含了一个简单的web应用,展示如何使用谷歌地图API V3来创建一个网页地图。开发者可以通过分析和学习这个源码,了解上述知识点的实际应用,并进一步扩展自己的地图应用开发...
在IT领域,Google Map API是开发人员常用的工具之一,它允许我们通过JavaScript编程语言与Google Maps服务进行交互,获取和处理地理位置信息。...理解并熟练使用Google Map API,能极大地提升你的Web应用的用户体验。
google map api 参考文档google map api 参考文档google map api 参考文档google map api 参考文档google map api 参考文档google map api 参考文档
在本实例中,我们主要探讨如何使用GoogleMap API进行二次开发,并结合Asp.Net、数据库以及GPS技术,创建一个功能丰富的Web应用。首先,我们来深入理解这些关键知识点。 1. GoogleMap API: GoogleMap API是Google...
Google Map API是一个...综上所述,“Google Map API基本源码”可能包含上述功能的实现示例,对于学习和理解API的使用非常有帮助。通过研究这些源码,开发者能够更好地掌握如何在自己的项目中灵活运用Google Map API。
Google Map API V3(3.9.12)是谷歌提供的一个用于在网页上嵌入交互式地图的服务,它是Google Maps JavaScript API的第三个主要版本。这个离线开发包允许开发者在没有网络连接的情况下进行地图应用的开发和测试,这...
在IT行业中,Google Map API是一个强大的工具,它允许开发者集成地图功能到他们的应用程序中,提供丰富的地理定位服务。本文将详细解析如何利用Google Map API实现"基于Google Map API的简单地图"的功能,包括显示...
这个压缩包文件似乎包含了一系列关于如何使用Google Map API进行二次开发的实例,这对于初学者来说是一份非常宝贵的学习资源。 首先,让我们详细了解一下Google Map API的主要功能和知识点: 1. **地图嵌入**:...