- 浏览: 144191 次
- 性别:
- 来自: 南昌
文章分类
- 全部博客 (123)
- Hibernate (10)
- Struts2 (6)
- Spring (5)
- Maven (11)
- Eclipse (5)
- Mysql (14)
- Html (3)
- IIS (4)
- Svn (2)
- Jquery (3)
- Apahce (1)
- Jsp (4)
- 其它 (10)
- ssh2 (2)
- java (14)
- js (8)
- Flex (4)
- barcode4j (1)
- powerdesiger (1)
- ibaits (2)
- googlemap (1)
- 淘宝客 (1)
- linux (7)
- idea (1)
- Query全屏滚动插件FullPage.js中文帮助文档API (1)
- 编写 (0)
最新评论
-
a276664990:
这玩意怎么使用?
googleMap.js -
xm_koma:
有没有将JFreeChart生成的图表导出到Excel中的例子 ...
在Web上用iText和JFreeChart将图形报表导出到PDF -
chong2230:
多谢 借用了
js复制当前链接 -
mikkjl:
非常感谢 按照你的做法 成功解决了问题 呵呵
struts2配置多个配置文件 -
yadsun:
推荐你用ActivePort,一个小工具300k不到,最重要的 ...
端口查看
/* 屏蔽js页面所有的错误
function killErrors() {
return true;
}
window.onerror = killErrors;
*/
window.jltourGoogleMapObject = function(){
var mapMeObj;
mapMeObj= this;
mapMeObj.map;//当前的地图地象
mapMeObj.showType ='city';//地图显示类型
mapMeObj.mapDiv='googleMap';//地图显示的div id 名字
mapMeObj.gecoder =null;//当前的地图查询对象
mapMeObj.cityName ='深圳';//当前城市的名字
mapMeObj.cityId = '70002';//城市id
mapMeObj.longtNo=114.123402;//默认显示的经度
mapMeObj.lattNo =22.542169;//默认显示的纬度
mapMeObj.baseIcon;//显示图片
mapMeObj.marker;//显示窗口对象
mapMeObj.arrayMarker;//页面上的Marker对象
mapMeObj.isAuth=false;//是否开启描点
mapMeObj.centerSize=16;//当前地图的缩放级别
mapMeObj.arrayPolygon;//页面上所有的polygon数组
mapMeObj.arrayCenterMarker;//页面上所有的polygon数组
mapMeObj.iconHere;//当前位置
mapMeObj.isClear = true;//是否清空
mapMeObj.markerMessage;//地图提示Marker对象
//初始化地图
mapMeObj.init = function (){
if (GBrowserIsCompatible()) {
mapMeObj.arrayMarker = new Array();
mapMeObj.arrayPolygon = new Array();
mapMeObj.arrayCenterMarker = new Array();
//longtNo = mapMeObj.longtNo;
//lattNo = mapMeObj.lattNo;
var mapElem = document.getElementById(mapMeObj.mapDiv);
mapMeObj.map = new GMap2(mapElem);
// mapMeObj.map.addControl(new GSmallMapControl());//放大缩小 22.542089,114.1225 彭年酒店
mapMeObj.map.addControl(new GMapTypeControl());//地图类型 地图 卫星
mapMeObj.map.addControl(new GLargeMapControl());//放大缩小
mapMeObj.map.addControl(new GScaleControl());//比例尺
mapMeObj.map.enableScrollWheelZoom(); //设置地图可以由鼠标滚轮控制缩放(默认是不会)。
var geoPoint0= new GLatLng(mapMeObj.lattNo,mapMeObj.longtNo);//22.542169,114.123402
//mapMeObj.map.setCenter(geoPoint0, mapMeObj.centerSize);
mapMeObj.geocoder = new GClientGeocoder();
mapMeObj.baseIcon = new GIcon();
mapMeObj.baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
mapMeObj.baseIcon.iconSize = new GSize(15, 15);
mapMeObj.baseIcon.shadowSize = new GSize(15, 15);
mapMeObj.baseIcon.iconAnchor = new GPoint(9, 34);
mapMeObj.baseIcon.infoWindowAnchor = new GPoint(9, 2);
mapMeObj.baseIcon.infoShadowAnchor = new GPoint(18, 25);
mapMeObj.iconHere = new GIcon(mapMeObj.baseIcon);
mapMeObj.iconHere.image ="/images/googleImage/hereBg.gif";
//var marker = new GMarker(geoPoint0,mapMeObj.iconHere);
//mapMeObj.marker =marker;
//mapMeObj.map.addOverlay(marker);//当前位置
mapMeObj.centerSize=16;//当前地图的缩放级别
//mapMeObj.putDragend(geoPoint0);//当前位置
//alert(geoPoint0.x);
}
}
mapMeObj.showAddress = function (adress){
if(isNullValue(adress)){
return false;
}
mapMeObj.cityName =getCityNameByCityId(document.getElementById("city_id").value);
if(isNullValue(mapMeObj.cityName)){
alert("城市不能为空");
return false;
}
var adressInput =mapMeObj.cityName+"市 "+adress;
if (mapMeObj.geocoder) {
mapMeObj.geocoder.getLatLng(adressInput,function(point){
if (!point) {
alert("不能解析: " + adress);
} else {
mapMeObj.centerSize =13;
mapMeObj.map.setCenter(point,mapMeObj.centerSize);
var baseIconQuery = new GIcon();
baseIconQuery.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIconQuery.iconSize = new GSize(15, 15);
baseIconQuery.shadowSize = new GSize(15, 15);
baseIconQuery.iconAnchor = new GPoint(9, 34);
baseIconQuery.infoWindowAnchor = new GPoint(9, 2);
baseIconQuery.infoShadowAnchor = new GPoint(18, 25);
baseIconQuery.dragCrossSize = new GSize(0, 0);
var iconHere = new GIcon(baseIconQuery);
iconHere.image ="/images/googleImage/hereSelect.gif";
mapMeObj.clearMarker(mapMeObj.arrayMarker);
mapMeObj.clearCenterMarker();//清除之前的Marker
var marker = new GMarker(point,{icon: iconHere,draggable: true});
GEvent.addListener(marker, "dragstart", function() {
mapMeObj.map.closeInfoWindow();
});
GEvent.addListener(marker, "dragend", function() {
var pointNew = marker.getPoint();
mapMeObj.longtNo = pointNew.x;//默认显示的经度
mapMeObj.lattNo = pointNew.y;//默认显示的纬度
mapMeObj.rimHotels();//查找该周边酒店
});
mapMeObj.map.addOverlay(marker);
//mapMeObj.marker.openInfoWindowHtml(adress);
mapMeObj.longtNo = point.x;//默认显示的经度
mapMeObj.lattNo = point.y;//默认显示的纬度
document.getElementById('longLatId').value = point.x+","+point.y;
mapMeObj.marker =marker;
}
});
}
}
mapMeObj.putDragend = function(point){
//alert("1");
mapMeObj.map.setCenter(point,mapMeObj.centerSize);
var baseIconQuery = new GIcon();
baseIconQuery.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIconQuery.iconSize = new GSize(15, 15);
baseIconQuery.shadowSize = new GSize(15, 15);
baseIconQuery.iconAnchor = new GPoint(9, 34);
baseIconQuery.infoWindowAnchor = new GPoint(9, 2);
baseIconQuery.infoShadowAnchor = new GPoint(18, 25);
baseIconQuery.dragCrossSize = new GSize(0, 0);
var iconHere = new GIcon(baseIconQuery);
iconHere.image ="/images/googleImage/hereSelect.gif";
mapMeObj.clearCenterMarker();//清除之前的Marker
var marker = new GMarker(point,{icon: iconHere,draggable: true});
GEvent.addListener(marker, "dragstart", function() {
mapMeObj.map.closeInfoWindow();
});
GEvent.addListener(marker, "dragend", function() {
var pointNew = marker.getPoint();
mapMeObj.longtNo = pointNew.x;//默认显示的经度
mapMeObj.lattNo = pointNew.y;//默认显示的纬度
mapMeObj.rimHotels();//查找该周边酒店
});
mapMeObj.map.addOverlay(marker);
//mapMeObj.marker.openInfoWindowHtml(adress);
mapMeObj.longtNo = point.x;//默认显示的经度
mapMeObj.lattNo = point.y;//默认显示的纬度
document.getElementById('longLatId').value = point.x+","+point.y;
mapMeObj.marker =marker;
}
//通过地名查找坐标
mapMeObj.getPointByAdress = function(adress){
if(isNullValue(adress)){
return false;
}
mapMeObj.cityId=document.getElementById("city_id").value;
mapMeObj.cityName =getCityNameByCityId(mapMeObj.cityId);
if(isNullValue(mapMeObj.cityName)){
alert("城市不能为空");
return false;
}
var adressInput =mapMeObj.cityName+"市 "+adress;
if (mapMeObj.geocoder) {
mapMeObj.geocoder.getLatLng(adressInput,function(point){
if (!point) {
alert("不能解析: " + adress);
} else {
mapMeObj.longtNo = point.x;//默认显示的经度
mapMeObj.lattNo = point.y;//默认显示的纬度
var point = new GLatLng(point.y,point.x);
mapMeObj.map.setCenter(point, mapMeObj.centerSize);
mapMeObj.clearCenterMarker();//清除之前的Marker
var marker = new GMarker(point,mapMeObj.iconHere);
mapMeObj.map.closeInfoWindow();
mapMeObj.map.addOverlay(marker);
mapMeObj.marker = marker;
}
});
}
}
//生成marker
mapMeObj.createMarker = function(points, hnames,hotelid,ic) {
var icon = new GIcon();
icon.image = "/images/googleImage/mm_20_yellow0.png";
icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
icon.iconSize = new GSize(15, 25);
icon.shadowSize = new GSize(15, 25);
icon.iconAnchor = new GPoint(15, 25);
icon.infoWindowAnchor = new GPoint(15, 25);
//var icon = new GIcon(mapMeObj.baseIcon);
//icon.image ="/images/googleImage/lianzhong.gif";
//icon.alt=hnames;
var marker = new google.maps.LabelMarker(points,{icon: icon});
GEvent.addListener(marker, "click", function() {
mapMeObj.marker = marker;
//alert("点的酒店:"+hotelid);
if(mapMeObj.isAuth){
window.location.hash="hotel"+hotelid;
}
mapMeObj.getHotelInfoByBotelId(hotelid);//调用酒店信息方法 不弹出窗口
});
GEvent.addListener(marker, "mouseover", function() {
mapMeObj.markerMessage = new google.maps.MessagesMarker(points,{labelText:hnames});
mapMeObj.map.addOverlay(mapMeObj.markerMessage);
});
GEvent.addListener(marker, "mouseout", function() {
mapMeObj.map.removeOverlay(mapMeObj.markerMessage);//移除
//mapMeObj.map.removeControl(mapMeObj.markerMessage);
});
mapMeObj.arrayMarker.push(marker);//页面中所有的Marker
return marker;
}
//周边查找
mapMeObj.rimHotels= function(){
if(isNullValue(document.getElementById("city_id").value))
{
alert("城市为空");
return;
}
if(isNullValue(mapMeObj.longtNo) || isNullValue(mapMeObj.lattNo)){
alert("坐标为空");
return;
}
if(isNullValue(document.getElementById("range").value)){
alert("周边为空");
return;
}
commonDwrAction.getHotelsByLongLatAndLim(document.getElementById("city_id").value,mapMeObj.longtNo,mapMeObj.lattNo,document.getElementById("range").value,getHotelsByLongLatAndLimHander);
}
//请空地图上的所有的Marker
mapMeObj.clearMarker = function(arrayMarkers){
if(arrayMarkers){
var arrays = arrayMarkers;
var aLength = arrayMarkers.length;
for(var m=0;m<aLength;m++){
mapMeObj.map.removeOverlay(arrays[m]);//移除
mapMeObj.map.removeControl(arrays[m]);
}
}
}
//清除当前页面上的Marker
mapMeObj.clearCenterMarker = function (){
if(mapMeObj.marker){
mapMeObj.map.removeOverlay(mapMeObj.marker);//移除
mapMeObj.map.removeControl(mapMeObj.marker);
}
}
//放入地图中 周边
mapMeObj.inputMapLim = function(){
if(isNullValue(hotelsJosnStr)){
alert("当前暂无酒店");
return;
}
mapMeObj.clearMarker(mapMeObj.arrayMarker);//将地图上之前Marker的请空
var hotels = window.eval('('+hotelsJosnStr+')').hotels;
if(hotels){
mapMeObj.arrayMarkers = new Array();
for(var i=0;i<hotels.length;i++){
var points = new GLatLng(+hotels[i].latt,hotels[i].longt);
mapMeObj.map.addOverlay(mapMeObj.createMarker(points,hotels[i].hotelchn,hotels[i].hotelid,i+1));
}
}
}
mapMeObj.getHotelInfoByBotelId = function (hotelId){
if(isNullValue(hotelId)){
alert("酒店Id为空");
return;
}
commonDwrAction.GetHotelInfoByHotelId(hotelId,GetHotelInfoByHotelIdHander);
}
//查找该行政区的所有酒店
mapMeObj.getHotelsByZoneId = function(zoneId){
if(-1 == zoneId){
alert("请选择行政区");
return;
}
mapMeObj.centerSize = 12;//设置地图显示大小
mapMeObj.cityId=document.getElementById("city_id").value;
mapMeObj.clearMarker(mapMeObj.arrayMarker);//将地图上之前Marker的请空
//mapMeObj.clearMarker(mapMeObj.arrayCenterMarker);//请除所有的中心Marker
mapMeObj.arrayMarkers = new Array();
if(mapMeObj.isClear){
//mapMeObj.clearMarker(mapMeObj.arrayPolygon);//请除所有的及polygon;
}
//var zoneName = getZoneNameByCityIdAndZoneId(mapMeObj.cityId,zoneId);//由于要数据库中有中心,所以不用
//mapMeObj.getPointByAdress(zoneName);//查找对应的工业区及显示进地图中
commonDwrAction.getHotelsByZoneIdAndCity(mapMeObj.cityId,zoneId,getHotelsByZoneIdHander);
}
//查找显示该商业区内的所有的酒店
mapMeObj.getHotelsByBizzId = function(bizzId){
if(-1 == bizzId){
alert("请选择行政区");
return;
}
mapMeObj.centerSize = 12;//设置地图显示大小
mapMeObj.cityId=document.getElementById("city_id").value;
mapMeObj.clearMarker(mapMeObj.arrayMarker);//将地图上之前Marker的请空
mapMeObj.clearMarker(mapMeObj.arrayCenterMarker);//请除所有的中心Marker
mapMeObj.arrayMarkers = new Array();
if(mapMeObj.isClear){
//mapMeObj.clearMarker(mapMeObj.arrayPolygon);//请除所有的及polygon;
}
//var bizName = getBizzonesByCityIdAndBizId(mapMeObj.cityId,bizzId);
//mapMeObj.getPointByAdress(bizName);//查找对应的工业区及显示进地图中
commonDwrAction.getHotelsByBizIdAndCity(mapMeObj.cityId,bizzId,getHotelsByBizzIdHander);
}
//改变页面中的hotelid的值
mapMeObj.changHotelsInput = function (){
var hotels = window.eval('('+hotelsJosnStr+')').hotels;
var hotelids ="";
for(var i=0;i<hotels.length;i++){
hotelids = hotelids+hotels[i].hotelid+",";
}
if(!isNullValue(hotelids)){
hotelids=hotelids.substr(0,hotelids.length-1);
document.getElementById('hotelkeyids').value=hotelids;
}
//alert(hotelids);
}
//画圈对象
mapMeObj.polygon = function (){
var polygons = window.eval('('+zonesJosnStr+')').result;
if(polygons){
var centerZones = polygons.centerlonglat;
if(polygons.length>0){
mapMeObj.centerSize =12;
var arraysLangLat = polygons[0].longlatArray[0];
var point = new GLatLng(arraysLangLat.weidu,arraysLangLat.jingdu);
//mapMeObj.longtNo = point.x;//默认显示的经度
//mapMeObj.lattNo = point.y;//默认显示的纬度
//mapMeObj.map.setCenter(point, mapMeObj.centerSize);
mapMeObj.clearCenterMarker();//清除之前的Marker
mapMeObj.clearMarker(mapMeObj.arrayCenterMarker);//请除所有的中心Marker
mapMeObj.clearMarker(mapMeObj.arrayPolygon);//请除所有的及polygon;
mapMeObj.arrayPolygon = new Array();
mapMeObj.putDragend(point);
//var marker = new GMarker(point,mapMeObj.iconHere);
//mapMeObj.map.closeInfoWindow();
// mapMeObj.map.addOverlay(marker);
//mapMeObj.marker = marker;
}
for(var zi=0;zi<polygons.length;zi++){
mapMeObj.polygonToMap(polygons[zi].longlatArray,polygons[zi].zoneid,polygons[zi].centerlonglat);
}
}
}
//按该点画图
mapMeObj.polygonToMap = function(longlatArray,zoneid,centerlonglat){
var gLatLngarray = new Array();
var gLatLng;
//再中心点
if(centerlonglat && notEmpty(centerlonglat.weidu) && notEmpty(centerlonglat.jingdu)){
var zonesPolyMarker = new google.maps.ZonesMarker(new GLatLng(centerlonglat.weidu,centerlonglat.jingdu),{labelText:centerlonglat.zoneName});
mapMeObj.map.addOverlay(zonesPolyMarker);
mapMeObj.arrayCenterMarker.push(zonesPolyMarker);//中心点 Marker
}
for(var a=0;a<longlatArray.length;a++){
gLatLng = new GLatLng(longlatArray[a].weidu,longlatArray[a].jingdu);
gLatLngarray.push(gLatLng);
}
var polygon = new GPolygon(gLatLngarray, "#ff0000",2, 0.3, "#6666FF", 0.4);
GEvent.addListener(polygon, "mouseover", function() {
var GPolyStyleOptions = { opacity:1,color:"#CC3333",weight:2};//
polygon.setStrokeStyle(GPolyStyleOptions);
var GPolyStyleOptionss = { opacity:0.1,color:"#CC0000",weight:2};
polygon.setFillStyle(GPolyStyleOptionss);
});
GEvent.addListener(polygon, "mouseout", function() {
var GPolyStyleOptions = { opacity:0.3,color:"#ff0000",weight:2};//
polygon.setStrokeStyle(GPolyStyleOptions);//线条
var GPolyStyleOptions = { opacity:0.4,color:"#6666FF",weight:0.2};
polygon.setFillStyle(GPolyStyleOptions);//添充
//mapMeObj.clearMarker(mapMeObj.arrayMarker);//请除所有的及Marker;
});
GEvent.addListener(polygon, "click", function() {
mapMeObj.isClear = false;//不清空
mapMeObj.getHotelsByZoneId(zoneid);//查看该区内的所有的酒店
});
mapMeObj.arrayPolygon.push(polygon);//由于polygon 和 Marker通用,则放在一起
mapMeObj.map.addOverlay(polygon);
}
//选区域
mapMeObj.getCityPolygonLongtLatByCityIdAndType = function(cityId,types){
if(isNullValue(cityId) || isNullValue(types) || '-1' == cityId){
alert("城市信息和类型没有");
return;
}
commonDwrAction.getCityPolygonLongtLatByCityIdAndType(cityId,types,getCityPolygonLongtLatByCityIdAndTypeHander)
}
mapMeObj.setCenters = function (jin,wei){
if(notEmpty(jin) && notEmpty(wei)){
mapMeObj.longtNo=jin;//默认显示的经度
mapMeObj.lattNo =wei;//默认显示的纬度
mapMeObj.centerSize=15;
var geoPoint0= new GLatLng(mapMeObj.lattNo,mapMeObj.longtNo);//22.542169,114.123402
mapMeObj.map.setCenter(geoPoint0, mapMeObj.centerSize);
}
}
}
function getHotelsByBizzIdHander(resultrp){
if(isNullValue(resultrp)){
alert("暂无该酒店信息");
return;
}
hotelsJosnStr = resultrp;
//jltourGoogleMap.map.setCenter(new GLatLng(jltourGoogleMap.lattNo,jltourGoogleMap.longtNo),jltourGoogleMap.centerSize);
var centerLongLat = window.eval('('+hotelsJosnStr+')').centerLongLat;
if(centerLongLat && notEmpty(centerLongLat.latt) && notEmpty(centerLongLat.longt)){
jltourGoogleMap.lattNo = centerLongLat.latt;
jltourGoogleMap.longtNo=centerLongLat.longt;
var point = new GLatLng(centerLongLat.latt,centerLongLat.longt);
jltourGoogleMap.map.setCenter(point,jltourGoogleMap.centerSize);
jltourGoogleMap.clearCenterMarker();//清除之前的Marker
var marker = new GMarker(point,jltourGoogleMap.iconHere);
jltourGoogleMap.map.closeInfoWindow();
jltourGoogleMap.map.addOverlay(marker);
jltourGoogleMap.marker = marker;
}
jltourGoogleMap.inputMapLim();
jltourGoogleMap.changHotelsInput();
}
function getHotelsByZoneIdHander(resultrp){
if(isNullValue(resultrp)){
alert("暂无该酒店信息");
return;
}
hotelsJosnStr = resultrp;
var centerLongLat = window.eval('('+hotelsJosnStr+')').centerLongLat;
if(centerLongLat && notEmpty(centerLongLat.latt) && notEmpty(centerLongLat.longt)){
//jltourGoogleMap.lattNo = centerLongLat.latt;
//jltourGoogleMap.longtNo=centerLongLat.longt;
var point = new GLatLng(centerLongLat.latt,centerLongLat.longt);
//jltourGoogleMap.map.setCenter(point,jltourGoogleMap.centerSize);
jltourGoogleMap.clearCenterMarker();//清除之前的Marker
//var marker = new GMarker(point,jltourGoogleMap.iconHere);
//jltourGoogleMap.map.closeInfoWindow();
//jltourGoogleMap.map.addOverlay(marker);
//jltourGoogleMap.marker = marker;
jltourGoogleMap.putDragend(point);
}
jltourGoogleMap.inputMapLim();
jltourGoogleMap.changHotelsInput();
//document.getElementById('test').innerHTML = hotelsJosnStr;
}
function GetHotelInfoByHotelIdHander(resultrp){
if(isNullValue(resultrp)){
alert("暂无该酒店信息");
return;
}
//map.openInfoWindowHtml(point,"<span style='color:red'>这是定位的位置</span>"); 上面的文字气球形式也可以这样显示
jltourGoogleMap.marker.openInfoWindowHtml("<div style='width:350px;float:left;FONT-SIZE:13pt'>"+resultrp+"</div>");
}
function getHotelsByLongLatAndLimHander(resultrp){
if(isNullValue(resultrp)){
alert("暂无酒店");
return;
}
hotelsJosnStr = resultrp;
//document.getElementById('test').innerHTML = hotelsJosnStr;
jltourGoogleMap.centerSize = 13;
jltourGoogleMap.map.setCenter(new GLatLng(jltourGoogleMap.lattNo,jltourGoogleMap.longtNo),jltourGoogleMap.centerSize);
document.getElementById('longLatId').value = jltourGoogleMap.longtNo+","+jltourGoogleMap.lattNo;
document.getElementById('adress').value='';
jltourGoogleMap.inputMapLim();
jltourGoogleMap.changHotelsInput();
}
function getCityPolygonLongtLatByCityIdAndTypeHander(resultrp){
if(isNullValue(resultrp)){
alert("暂无坐标信息");
return;
}
zonesJosnStr = resultrp;
jltourGoogleMap.polygon();//画图像
}
// Array的删除事件
Array.prototype.remove = function(obj) {
for (var i = 0; i < this.length; ++i) {
if (this[i] == obj) {
if (i > this.length / 2) {
for (var j = i; j < this.length - 1; ++j) {
this[j] = this[j + 1];
}
this.pop();
}
else {
for (var j = i; j > 0; --j) {
this[j] = this[j - 1];
}
this.shift();
}
break;
}
}
};
google.maps.ZonesMarker = function(latlng, options){
this.latlng = latlng;
this.labelText = options.labelText || '';
this.labelClass = options.labelClass || 'writeb';
this.labelOffset = options.labelOffset || new google.maps.Size(8, -33);
options.icon = options.icon || getTextIcon();
google.maps.Marker.apply(this, arguments);
}
google.maps.ZonesMarker.prototype = new google.maps.Marker(new google.maps.LatLng(0, 0));
google.maps.ZonesMarker.prototype.initialize = function(map){
google.maps.Marker.prototype.initialize.call(this, map);
var label = document.createElement('div');
label.className = this.labelClass;
label.innerHTML = this.labelText;
label.style.position = 'absolute';
label.style.width = '40px';
label.style.border="1px solid #6666FF";
label.style.background="#FFFFFF";
//label.style.color="#910044";
map.getPane(G_MAP_MARKER_PANE).appendChild(label);
this.map = map;
this.label = label;
}
google.maps.ZonesMarker.prototype.redraw = function(force){
google.maps.Marker.prototype.redraw.call(this, jltourGoogleMap.map);
if(!force)
{
return;
}
var point = this.map.fromLatLngToDivPixel(this.latlng);
var z = google.maps.Overlay.getZIndex(this.latlng.lat());
this.label.style.left = (point.x + this.labelOffset.width-40) + 'px';
this.label.style.top = (point.y + this.labelOffset.height-10) + 'px';
// this.label.style.left = (point.x+ this.labelOffset.width)+ 'px';
//this.label.style.top = (point.y+ this.labelOffset.height) + 'px';
this.label.style.zIndex = z + 1;
}
google.maps.ZonesMarker.prototype.remove = function(){
this.label.parentNode.removeChild(this.label);
this.label = null;
google.maps.Marker.prototype.remove.call(this);
}
google.maps.LabelMarker = function(latlng, options){
this.latlng = latlng;
this.labelText = options.labelText || '';
this.labelClass = options.labelClass || 'writeb';
this.labelOffset = options.labelOffset || new google.maps.Size(8, -33);
options.icon = options.icon || getTextIcon();
google.maps.Marker.apply(this, arguments);
}
google.maps.LabelMarker.prototype = new google.maps.Marker(new google.maps.LatLng(0, 0));
google.maps.LabelMarker.prototype.initialize = function(map){
google.maps.Marker.prototype.initialize.call(this, map);
var label = document.createElement('div');
label.className = this.labelClass;
label.innerHTML = this.labelText;
label.style.position = 'absolute';
label.style.width = '90px';
//label.style.border="1px solid #FFF";
//label.style.background="#3399CC";
label.style.color="#910044";
map.getPane(G_MAP_MARKER_PANE).appendChild(label);
this.map = map;
this.label = label;
}
google.maps.LabelMarker.prototype.redraw = function(force){
google.maps.Marker.prototype.redraw.call(this, jltourGoogleMap.map);
if(!force)
{
return;
}
var point = this.map.fromLatLngToDivPixel(this.latlng);
var z = google.maps.Overlay.getZIndex(this.latlng.lat());
this.label.style.left = (point.x + this.labelOffset.width-40) + 'px';
this.label.style.top = (point.y + this.labelOffset.height-10) + 'px';
// this.label.style.left = (point.x+ this.labelOffset.width)+ 'px';
//this.label.style.top = (point.y+ this.labelOffset.height) + 'px';
this.label.style.zIndex = z + 1;
}
google.maps.LabelMarker.prototype.remove = function(){
this.label.parentNode.removeChild(this.label);
this.label = null;
google.maps.Marker.prototype.remove.call(this);
}
function getTextIcon(){
var icon = new google.maps.Icon();
//icon.image = "/images/googleImage/1.png";
icon.iconSize = new GSize(48, 40);
icon.iconAnchor = new GPoint(0, 40);
icon.infoWindowAnchor = new GPoint(5, 1);
return icon;
}
google.maps.MessagesMarker = function(latlng, options){
this.latlng = latlng;
this.labelText = options.labelText || '';
this.labelClass = options.labelClass || 'writeb';
this.labelOffset = options.labelOffset || new google.maps.Size(8, -33);
options.icon = options.icon || getTextIcon();
google.maps.Marker.apply(this, arguments);
}
google.maps.MessagesMarker.prototype = new google.maps.Marker(new google.maps.LatLng(0, 0));
google.maps.MessagesMarker.prototype.initialize = function(map){
google.maps.Marker.prototype.initialize.call(this, map);
var label = document.createElement('div');
label.className = this.labelClass;
label.innerHTML = this.labelText;
label.style.position = 'absolute';
label.style.width = '140px';
label.style.textAlign="left";
label.style.border="1px solid #FF9752";
label.style.background="#F8F6F3 ";
label.style.color="#910044";
map.getPane(G_MAP_MARKER_PANE).appendChild(label);
this.map = map;
this.label = label;
}
google.maps.MessagesMarker.prototype.redraw = function(force){
google.maps.Marker.prototype.redraw.call(this, jltourGoogleMap.map);
if(!force)
{
return;
}
var point = this.map.fromLatLngToDivPixel(this.latlng);
var z = google.maps.Overlay.getZIndex(this.latlng.lat());
this.label.style.left = (point.x + this.labelOffset.width-8) + 'px';
this.label.style.top = (point.y + this.labelOffset.height+10) + 'px';
// this.label.style.left = (point.x+ this.labelOffset.width)+ 'px';
//this.label.style.top = (point.y+ this.labelOffset.height) + 'px';
this.label.style.zIndex = z + 1;
}
google.maps.MessagesMarker.prototype.remove = function(){
this.label.parentNode.removeChild(this.label);
this.label = null;
google.maps.Marker.prototype.remove.call(this);
}
function killErrors() {
return true;
}
window.onerror = killErrors;
*/
window.jltourGoogleMapObject = function(){
var mapMeObj;
mapMeObj= this;
mapMeObj.map;//当前的地图地象
mapMeObj.showType ='city';//地图显示类型
mapMeObj.mapDiv='googleMap';//地图显示的div id 名字
mapMeObj.gecoder =null;//当前的地图查询对象
mapMeObj.cityName ='深圳';//当前城市的名字
mapMeObj.cityId = '70002';//城市id
mapMeObj.longtNo=114.123402;//默认显示的经度
mapMeObj.lattNo =22.542169;//默认显示的纬度
mapMeObj.baseIcon;//显示图片
mapMeObj.marker;//显示窗口对象
mapMeObj.arrayMarker;//页面上的Marker对象
mapMeObj.isAuth=false;//是否开启描点
mapMeObj.centerSize=16;//当前地图的缩放级别
mapMeObj.arrayPolygon;//页面上所有的polygon数组
mapMeObj.arrayCenterMarker;//页面上所有的polygon数组
mapMeObj.iconHere;//当前位置
mapMeObj.isClear = true;//是否清空
mapMeObj.markerMessage;//地图提示Marker对象
//初始化地图
mapMeObj.init = function (){
if (GBrowserIsCompatible()) {
mapMeObj.arrayMarker = new Array();
mapMeObj.arrayPolygon = new Array();
mapMeObj.arrayCenterMarker = new Array();
//longtNo = mapMeObj.longtNo;
//lattNo = mapMeObj.lattNo;
var mapElem = document.getElementById(mapMeObj.mapDiv);
mapMeObj.map = new GMap2(mapElem);
// mapMeObj.map.addControl(new GSmallMapControl());//放大缩小 22.542089,114.1225 彭年酒店
mapMeObj.map.addControl(new GMapTypeControl());//地图类型 地图 卫星
mapMeObj.map.addControl(new GLargeMapControl());//放大缩小
mapMeObj.map.addControl(new GScaleControl());//比例尺
mapMeObj.map.enableScrollWheelZoom(); //设置地图可以由鼠标滚轮控制缩放(默认是不会)。
var geoPoint0= new GLatLng(mapMeObj.lattNo,mapMeObj.longtNo);//22.542169,114.123402
//mapMeObj.map.setCenter(geoPoint0, mapMeObj.centerSize);
mapMeObj.geocoder = new GClientGeocoder();
mapMeObj.baseIcon = new GIcon();
mapMeObj.baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
mapMeObj.baseIcon.iconSize = new GSize(15, 15);
mapMeObj.baseIcon.shadowSize = new GSize(15, 15);
mapMeObj.baseIcon.iconAnchor = new GPoint(9, 34);
mapMeObj.baseIcon.infoWindowAnchor = new GPoint(9, 2);
mapMeObj.baseIcon.infoShadowAnchor = new GPoint(18, 25);
mapMeObj.iconHere = new GIcon(mapMeObj.baseIcon);
mapMeObj.iconHere.image ="/images/googleImage/hereBg.gif";
//var marker = new GMarker(geoPoint0,mapMeObj.iconHere);
//mapMeObj.marker =marker;
//mapMeObj.map.addOverlay(marker);//当前位置
mapMeObj.centerSize=16;//当前地图的缩放级别
//mapMeObj.putDragend(geoPoint0);//当前位置
//alert(geoPoint0.x);
}
}
mapMeObj.showAddress = function (adress){
if(isNullValue(adress)){
return false;
}
mapMeObj.cityName =getCityNameByCityId(document.getElementById("city_id").value);
if(isNullValue(mapMeObj.cityName)){
alert("城市不能为空");
return false;
}
var adressInput =mapMeObj.cityName+"市 "+adress;
if (mapMeObj.geocoder) {
mapMeObj.geocoder.getLatLng(adressInput,function(point){
if (!point) {
alert("不能解析: " + adress);
} else {
mapMeObj.centerSize =13;
mapMeObj.map.setCenter(point,mapMeObj.centerSize);
var baseIconQuery = new GIcon();
baseIconQuery.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIconQuery.iconSize = new GSize(15, 15);
baseIconQuery.shadowSize = new GSize(15, 15);
baseIconQuery.iconAnchor = new GPoint(9, 34);
baseIconQuery.infoWindowAnchor = new GPoint(9, 2);
baseIconQuery.infoShadowAnchor = new GPoint(18, 25);
baseIconQuery.dragCrossSize = new GSize(0, 0);
var iconHere = new GIcon(baseIconQuery);
iconHere.image ="/images/googleImage/hereSelect.gif";
mapMeObj.clearMarker(mapMeObj.arrayMarker);
mapMeObj.clearCenterMarker();//清除之前的Marker
var marker = new GMarker(point,{icon: iconHere,draggable: true});
GEvent.addListener(marker, "dragstart", function() {
mapMeObj.map.closeInfoWindow();
});
GEvent.addListener(marker, "dragend", function() {
var pointNew = marker.getPoint();
mapMeObj.longtNo = pointNew.x;//默认显示的经度
mapMeObj.lattNo = pointNew.y;//默认显示的纬度
mapMeObj.rimHotels();//查找该周边酒店
});
mapMeObj.map.addOverlay(marker);
//mapMeObj.marker.openInfoWindowHtml(adress);
mapMeObj.longtNo = point.x;//默认显示的经度
mapMeObj.lattNo = point.y;//默认显示的纬度
document.getElementById('longLatId').value = point.x+","+point.y;
mapMeObj.marker =marker;
}
});
}
}
mapMeObj.putDragend = function(point){
//alert("1");
mapMeObj.map.setCenter(point,mapMeObj.centerSize);
var baseIconQuery = new GIcon();
baseIconQuery.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIconQuery.iconSize = new GSize(15, 15);
baseIconQuery.shadowSize = new GSize(15, 15);
baseIconQuery.iconAnchor = new GPoint(9, 34);
baseIconQuery.infoWindowAnchor = new GPoint(9, 2);
baseIconQuery.infoShadowAnchor = new GPoint(18, 25);
baseIconQuery.dragCrossSize = new GSize(0, 0);
var iconHere = new GIcon(baseIconQuery);
iconHere.image ="/images/googleImage/hereSelect.gif";
mapMeObj.clearCenterMarker();//清除之前的Marker
var marker = new GMarker(point,{icon: iconHere,draggable: true});
GEvent.addListener(marker, "dragstart", function() {
mapMeObj.map.closeInfoWindow();
});
GEvent.addListener(marker, "dragend", function() {
var pointNew = marker.getPoint();
mapMeObj.longtNo = pointNew.x;//默认显示的经度
mapMeObj.lattNo = pointNew.y;//默认显示的纬度
mapMeObj.rimHotels();//查找该周边酒店
});
mapMeObj.map.addOverlay(marker);
//mapMeObj.marker.openInfoWindowHtml(adress);
mapMeObj.longtNo = point.x;//默认显示的经度
mapMeObj.lattNo = point.y;//默认显示的纬度
document.getElementById('longLatId').value = point.x+","+point.y;
mapMeObj.marker =marker;
}
//通过地名查找坐标
mapMeObj.getPointByAdress = function(adress){
if(isNullValue(adress)){
return false;
}
mapMeObj.cityId=document.getElementById("city_id").value;
mapMeObj.cityName =getCityNameByCityId(mapMeObj.cityId);
if(isNullValue(mapMeObj.cityName)){
alert("城市不能为空");
return false;
}
var adressInput =mapMeObj.cityName+"市 "+adress;
if (mapMeObj.geocoder) {
mapMeObj.geocoder.getLatLng(adressInput,function(point){
if (!point) {
alert("不能解析: " + adress);
} else {
mapMeObj.longtNo = point.x;//默认显示的经度
mapMeObj.lattNo = point.y;//默认显示的纬度
var point = new GLatLng(point.y,point.x);
mapMeObj.map.setCenter(point, mapMeObj.centerSize);
mapMeObj.clearCenterMarker();//清除之前的Marker
var marker = new GMarker(point,mapMeObj.iconHere);
mapMeObj.map.closeInfoWindow();
mapMeObj.map.addOverlay(marker);
mapMeObj.marker = marker;
}
});
}
}
//生成marker
mapMeObj.createMarker = function(points, hnames,hotelid,ic) {
var icon = new GIcon();
icon.image = "/images/googleImage/mm_20_yellow0.png";
icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
icon.iconSize = new GSize(15, 25);
icon.shadowSize = new GSize(15, 25);
icon.iconAnchor = new GPoint(15, 25);
icon.infoWindowAnchor = new GPoint(15, 25);
//var icon = new GIcon(mapMeObj.baseIcon);
//icon.image ="/images/googleImage/lianzhong.gif";
//icon.alt=hnames;
var marker = new google.maps.LabelMarker(points,{icon: icon});
GEvent.addListener(marker, "click", function() {
mapMeObj.marker = marker;
//alert("点的酒店:"+hotelid);
if(mapMeObj.isAuth){
window.location.hash="hotel"+hotelid;
}
mapMeObj.getHotelInfoByBotelId(hotelid);//调用酒店信息方法 不弹出窗口
});
GEvent.addListener(marker, "mouseover", function() {
mapMeObj.markerMessage = new google.maps.MessagesMarker(points,{labelText:hnames});
mapMeObj.map.addOverlay(mapMeObj.markerMessage);
});
GEvent.addListener(marker, "mouseout", function() {
mapMeObj.map.removeOverlay(mapMeObj.markerMessage);//移除
//mapMeObj.map.removeControl(mapMeObj.markerMessage);
});
mapMeObj.arrayMarker.push(marker);//页面中所有的Marker
return marker;
}
//周边查找
mapMeObj.rimHotels= function(){
if(isNullValue(document.getElementById("city_id").value))
{
alert("城市为空");
return;
}
if(isNullValue(mapMeObj.longtNo) || isNullValue(mapMeObj.lattNo)){
alert("坐标为空");
return;
}
if(isNullValue(document.getElementById("range").value)){
alert("周边为空");
return;
}
commonDwrAction.getHotelsByLongLatAndLim(document.getElementById("city_id").value,mapMeObj.longtNo,mapMeObj.lattNo,document.getElementById("range").value,getHotelsByLongLatAndLimHander);
}
//请空地图上的所有的Marker
mapMeObj.clearMarker = function(arrayMarkers){
if(arrayMarkers){
var arrays = arrayMarkers;
var aLength = arrayMarkers.length;
for(var m=0;m<aLength;m++){
mapMeObj.map.removeOverlay(arrays[m]);//移除
mapMeObj.map.removeControl(arrays[m]);
}
}
}
//清除当前页面上的Marker
mapMeObj.clearCenterMarker = function (){
if(mapMeObj.marker){
mapMeObj.map.removeOverlay(mapMeObj.marker);//移除
mapMeObj.map.removeControl(mapMeObj.marker);
}
}
//放入地图中 周边
mapMeObj.inputMapLim = function(){
if(isNullValue(hotelsJosnStr)){
alert("当前暂无酒店");
return;
}
mapMeObj.clearMarker(mapMeObj.arrayMarker);//将地图上之前Marker的请空
var hotels = window.eval('('+hotelsJosnStr+')').hotels;
if(hotels){
mapMeObj.arrayMarkers = new Array();
for(var i=0;i<hotels.length;i++){
var points = new GLatLng(+hotels[i].latt,hotels[i].longt);
mapMeObj.map.addOverlay(mapMeObj.createMarker(points,hotels[i].hotelchn,hotels[i].hotelid,i+1));
}
}
}
mapMeObj.getHotelInfoByBotelId = function (hotelId){
if(isNullValue(hotelId)){
alert("酒店Id为空");
return;
}
commonDwrAction.GetHotelInfoByHotelId(hotelId,GetHotelInfoByHotelIdHander);
}
//查找该行政区的所有酒店
mapMeObj.getHotelsByZoneId = function(zoneId){
if(-1 == zoneId){
alert("请选择行政区");
return;
}
mapMeObj.centerSize = 12;//设置地图显示大小
mapMeObj.cityId=document.getElementById("city_id").value;
mapMeObj.clearMarker(mapMeObj.arrayMarker);//将地图上之前Marker的请空
//mapMeObj.clearMarker(mapMeObj.arrayCenterMarker);//请除所有的中心Marker
mapMeObj.arrayMarkers = new Array();
if(mapMeObj.isClear){
//mapMeObj.clearMarker(mapMeObj.arrayPolygon);//请除所有的及polygon;
}
//var zoneName = getZoneNameByCityIdAndZoneId(mapMeObj.cityId,zoneId);//由于要数据库中有中心,所以不用
//mapMeObj.getPointByAdress(zoneName);//查找对应的工业区及显示进地图中
commonDwrAction.getHotelsByZoneIdAndCity(mapMeObj.cityId,zoneId,getHotelsByZoneIdHander);
}
//查找显示该商业区内的所有的酒店
mapMeObj.getHotelsByBizzId = function(bizzId){
if(-1 == bizzId){
alert("请选择行政区");
return;
}
mapMeObj.centerSize = 12;//设置地图显示大小
mapMeObj.cityId=document.getElementById("city_id").value;
mapMeObj.clearMarker(mapMeObj.arrayMarker);//将地图上之前Marker的请空
mapMeObj.clearMarker(mapMeObj.arrayCenterMarker);//请除所有的中心Marker
mapMeObj.arrayMarkers = new Array();
if(mapMeObj.isClear){
//mapMeObj.clearMarker(mapMeObj.arrayPolygon);//请除所有的及polygon;
}
//var bizName = getBizzonesByCityIdAndBizId(mapMeObj.cityId,bizzId);
//mapMeObj.getPointByAdress(bizName);//查找对应的工业区及显示进地图中
commonDwrAction.getHotelsByBizIdAndCity(mapMeObj.cityId,bizzId,getHotelsByBizzIdHander);
}
//改变页面中的hotelid的值
mapMeObj.changHotelsInput = function (){
var hotels = window.eval('('+hotelsJosnStr+')').hotels;
var hotelids ="";
for(var i=0;i<hotels.length;i++){
hotelids = hotelids+hotels[i].hotelid+",";
}
if(!isNullValue(hotelids)){
hotelids=hotelids.substr(0,hotelids.length-1);
document.getElementById('hotelkeyids').value=hotelids;
}
//alert(hotelids);
}
//画圈对象
mapMeObj.polygon = function (){
var polygons = window.eval('('+zonesJosnStr+')').result;
if(polygons){
var centerZones = polygons.centerlonglat;
if(polygons.length>0){
mapMeObj.centerSize =12;
var arraysLangLat = polygons[0].longlatArray[0];
var point = new GLatLng(arraysLangLat.weidu,arraysLangLat.jingdu);
//mapMeObj.longtNo = point.x;//默认显示的经度
//mapMeObj.lattNo = point.y;//默认显示的纬度
//mapMeObj.map.setCenter(point, mapMeObj.centerSize);
mapMeObj.clearCenterMarker();//清除之前的Marker
mapMeObj.clearMarker(mapMeObj.arrayCenterMarker);//请除所有的中心Marker
mapMeObj.clearMarker(mapMeObj.arrayPolygon);//请除所有的及polygon;
mapMeObj.arrayPolygon = new Array();
mapMeObj.putDragend(point);
//var marker = new GMarker(point,mapMeObj.iconHere);
//mapMeObj.map.closeInfoWindow();
// mapMeObj.map.addOverlay(marker);
//mapMeObj.marker = marker;
}
for(var zi=0;zi<polygons.length;zi++){
mapMeObj.polygonToMap(polygons[zi].longlatArray,polygons[zi].zoneid,polygons[zi].centerlonglat);
}
}
}
//按该点画图
mapMeObj.polygonToMap = function(longlatArray,zoneid,centerlonglat){
var gLatLngarray = new Array();
var gLatLng;
//再中心点
if(centerlonglat && notEmpty(centerlonglat.weidu) && notEmpty(centerlonglat.jingdu)){
var zonesPolyMarker = new google.maps.ZonesMarker(new GLatLng(centerlonglat.weidu,centerlonglat.jingdu),{labelText:centerlonglat.zoneName});
mapMeObj.map.addOverlay(zonesPolyMarker);
mapMeObj.arrayCenterMarker.push(zonesPolyMarker);//中心点 Marker
}
for(var a=0;a<longlatArray.length;a++){
gLatLng = new GLatLng(longlatArray[a].weidu,longlatArray[a].jingdu);
gLatLngarray.push(gLatLng);
}
var polygon = new GPolygon(gLatLngarray, "#ff0000",2, 0.3, "#6666FF", 0.4);
GEvent.addListener(polygon, "mouseover", function() {
var GPolyStyleOptions = { opacity:1,color:"#CC3333",weight:2};//
polygon.setStrokeStyle(GPolyStyleOptions);
var GPolyStyleOptionss = { opacity:0.1,color:"#CC0000",weight:2};
polygon.setFillStyle(GPolyStyleOptionss);
});
GEvent.addListener(polygon, "mouseout", function() {
var GPolyStyleOptions = { opacity:0.3,color:"#ff0000",weight:2};//
polygon.setStrokeStyle(GPolyStyleOptions);//线条
var GPolyStyleOptions = { opacity:0.4,color:"#6666FF",weight:0.2};
polygon.setFillStyle(GPolyStyleOptions);//添充
//mapMeObj.clearMarker(mapMeObj.arrayMarker);//请除所有的及Marker;
});
GEvent.addListener(polygon, "click", function() {
mapMeObj.isClear = false;//不清空
mapMeObj.getHotelsByZoneId(zoneid);//查看该区内的所有的酒店
});
mapMeObj.arrayPolygon.push(polygon);//由于polygon 和 Marker通用,则放在一起
mapMeObj.map.addOverlay(polygon);
}
//选区域
mapMeObj.getCityPolygonLongtLatByCityIdAndType = function(cityId,types){
if(isNullValue(cityId) || isNullValue(types) || '-1' == cityId){
alert("城市信息和类型没有");
return;
}
commonDwrAction.getCityPolygonLongtLatByCityIdAndType(cityId,types,getCityPolygonLongtLatByCityIdAndTypeHander)
}
mapMeObj.setCenters = function (jin,wei){
if(notEmpty(jin) && notEmpty(wei)){
mapMeObj.longtNo=jin;//默认显示的经度
mapMeObj.lattNo =wei;//默认显示的纬度
mapMeObj.centerSize=15;
var geoPoint0= new GLatLng(mapMeObj.lattNo,mapMeObj.longtNo);//22.542169,114.123402
mapMeObj.map.setCenter(geoPoint0, mapMeObj.centerSize);
}
}
}
function getHotelsByBizzIdHander(resultrp){
if(isNullValue(resultrp)){
alert("暂无该酒店信息");
return;
}
hotelsJosnStr = resultrp;
//jltourGoogleMap.map.setCenter(new GLatLng(jltourGoogleMap.lattNo,jltourGoogleMap.longtNo),jltourGoogleMap.centerSize);
var centerLongLat = window.eval('('+hotelsJosnStr+')').centerLongLat;
if(centerLongLat && notEmpty(centerLongLat.latt) && notEmpty(centerLongLat.longt)){
jltourGoogleMap.lattNo = centerLongLat.latt;
jltourGoogleMap.longtNo=centerLongLat.longt;
var point = new GLatLng(centerLongLat.latt,centerLongLat.longt);
jltourGoogleMap.map.setCenter(point,jltourGoogleMap.centerSize);
jltourGoogleMap.clearCenterMarker();//清除之前的Marker
var marker = new GMarker(point,jltourGoogleMap.iconHere);
jltourGoogleMap.map.closeInfoWindow();
jltourGoogleMap.map.addOverlay(marker);
jltourGoogleMap.marker = marker;
}
jltourGoogleMap.inputMapLim();
jltourGoogleMap.changHotelsInput();
}
function getHotelsByZoneIdHander(resultrp){
if(isNullValue(resultrp)){
alert("暂无该酒店信息");
return;
}
hotelsJosnStr = resultrp;
var centerLongLat = window.eval('('+hotelsJosnStr+')').centerLongLat;
if(centerLongLat && notEmpty(centerLongLat.latt) && notEmpty(centerLongLat.longt)){
//jltourGoogleMap.lattNo = centerLongLat.latt;
//jltourGoogleMap.longtNo=centerLongLat.longt;
var point = new GLatLng(centerLongLat.latt,centerLongLat.longt);
//jltourGoogleMap.map.setCenter(point,jltourGoogleMap.centerSize);
jltourGoogleMap.clearCenterMarker();//清除之前的Marker
//var marker = new GMarker(point,jltourGoogleMap.iconHere);
//jltourGoogleMap.map.closeInfoWindow();
//jltourGoogleMap.map.addOverlay(marker);
//jltourGoogleMap.marker = marker;
jltourGoogleMap.putDragend(point);
}
jltourGoogleMap.inputMapLim();
jltourGoogleMap.changHotelsInput();
//document.getElementById('test').innerHTML = hotelsJosnStr;
}
function GetHotelInfoByHotelIdHander(resultrp){
if(isNullValue(resultrp)){
alert("暂无该酒店信息");
return;
}
//map.openInfoWindowHtml(point,"<span style='color:red'>这是定位的位置</span>"); 上面的文字气球形式也可以这样显示
jltourGoogleMap.marker.openInfoWindowHtml("<div style='width:350px;float:left;FONT-SIZE:13pt'>"+resultrp+"</div>");
}
function getHotelsByLongLatAndLimHander(resultrp){
if(isNullValue(resultrp)){
alert("暂无酒店");
return;
}
hotelsJosnStr = resultrp;
//document.getElementById('test').innerHTML = hotelsJosnStr;
jltourGoogleMap.centerSize = 13;
jltourGoogleMap.map.setCenter(new GLatLng(jltourGoogleMap.lattNo,jltourGoogleMap.longtNo),jltourGoogleMap.centerSize);
document.getElementById('longLatId').value = jltourGoogleMap.longtNo+","+jltourGoogleMap.lattNo;
document.getElementById('adress').value='';
jltourGoogleMap.inputMapLim();
jltourGoogleMap.changHotelsInput();
}
function getCityPolygonLongtLatByCityIdAndTypeHander(resultrp){
if(isNullValue(resultrp)){
alert("暂无坐标信息");
return;
}
zonesJosnStr = resultrp;
jltourGoogleMap.polygon();//画图像
}
// Array的删除事件
Array.prototype.remove = function(obj) {
for (var i = 0; i < this.length; ++i) {
if (this[i] == obj) {
if (i > this.length / 2) {
for (var j = i; j < this.length - 1; ++j) {
this[j] = this[j + 1];
}
this.pop();
}
else {
for (var j = i; j > 0; --j) {
this[j] = this[j - 1];
}
this.shift();
}
break;
}
}
};
google.maps.ZonesMarker = function(latlng, options){
this.latlng = latlng;
this.labelText = options.labelText || '';
this.labelClass = options.labelClass || 'writeb';
this.labelOffset = options.labelOffset || new google.maps.Size(8, -33);
options.icon = options.icon || getTextIcon();
google.maps.Marker.apply(this, arguments);
}
google.maps.ZonesMarker.prototype = new google.maps.Marker(new google.maps.LatLng(0, 0));
google.maps.ZonesMarker.prototype.initialize = function(map){
google.maps.Marker.prototype.initialize.call(this, map);
var label = document.createElement('div');
label.className = this.labelClass;
label.innerHTML = this.labelText;
label.style.position = 'absolute';
label.style.width = '40px';
label.style.border="1px solid #6666FF";
label.style.background="#FFFFFF";
//label.style.color="#910044";
map.getPane(G_MAP_MARKER_PANE).appendChild(label);
this.map = map;
this.label = label;
}
google.maps.ZonesMarker.prototype.redraw = function(force){
google.maps.Marker.prototype.redraw.call(this, jltourGoogleMap.map);
if(!force)
{
return;
}
var point = this.map.fromLatLngToDivPixel(this.latlng);
var z = google.maps.Overlay.getZIndex(this.latlng.lat());
this.label.style.left = (point.x + this.labelOffset.width-40) + 'px';
this.label.style.top = (point.y + this.labelOffset.height-10) + 'px';
// this.label.style.left = (point.x+ this.labelOffset.width)+ 'px';
//this.label.style.top = (point.y+ this.labelOffset.height) + 'px';
this.label.style.zIndex = z + 1;
}
google.maps.ZonesMarker.prototype.remove = function(){
this.label.parentNode.removeChild(this.label);
this.label = null;
google.maps.Marker.prototype.remove.call(this);
}
google.maps.LabelMarker = function(latlng, options){
this.latlng = latlng;
this.labelText = options.labelText || '';
this.labelClass = options.labelClass || 'writeb';
this.labelOffset = options.labelOffset || new google.maps.Size(8, -33);
options.icon = options.icon || getTextIcon();
google.maps.Marker.apply(this, arguments);
}
google.maps.LabelMarker.prototype = new google.maps.Marker(new google.maps.LatLng(0, 0));
google.maps.LabelMarker.prototype.initialize = function(map){
google.maps.Marker.prototype.initialize.call(this, map);
var label = document.createElement('div');
label.className = this.labelClass;
label.innerHTML = this.labelText;
label.style.position = 'absolute';
label.style.width = '90px';
//label.style.border="1px solid #FFF";
//label.style.background="#3399CC";
label.style.color="#910044";
map.getPane(G_MAP_MARKER_PANE).appendChild(label);
this.map = map;
this.label = label;
}
google.maps.LabelMarker.prototype.redraw = function(force){
google.maps.Marker.prototype.redraw.call(this, jltourGoogleMap.map);
if(!force)
{
return;
}
var point = this.map.fromLatLngToDivPixel(this.latlng);
var z = google.maps.Overlay.getZIndex(this.latlng.lat());
this.label.style.left = (point.x + this.labelOffset.width-40) + 'px';
this.label.style.top = (point.y + this.labelOffset.height-10) + 'px';
// this.label.style.left = (point.x+ this.labelOffset.width)+ 'px';
//this.label.style.top = (point.y+ this.labelOffset.height) + 'px';
this.label.style.zIndex = z + 1;
}
google.maps.LabelMarker.prototype.remove = function(){
this.label.parentNode.removeChild(this.label);
this.label = null;
google.maps.Marker.prototype.remove.call(this);
}
function getTextIcon(){
var icon = new google.maps.Icon();
//icon.image = "/images/googleImage/1.png";
icon.iconSize = new GSize(48, 40);
icon.iconAnchor = new GPoint(0, 40);
icon.infoWindowAnchor = new GPoint(5, 1);
return icon;
}
google.maps.MessagesMarker = function(latlng, options){
this.latlng = latlng;
this.labelText = options.labelText || '';
this.labelClass = options.labelClass || 'writeb';
this.labelOffset = options.labelOffset || new google.maps.Size(8, -33);
options.icon = options.icon || getTextIcon();
google.maps.Marker.apply(this, arguments);
}
google.maps.MessagesMarker.prototype = new google.maps.Marker(new google.maps.LatLng(0, 0));
google.maps.MessagesMarker.prototype.initialize = function(map){
google.maps.Marker.prototype.initialize.call(this, map);
var label = document.createElement('div');
label.className = this.labelClass;
label.innerHTML = this.labelText;
label.style.position = 'absolute';
label.style.width = '140px';
label.style.textAlign="left";
label.style.border="1px solid #FF9752";
label.style.background="#F8F6F3 ";
label.style.color="#910044";
map.getPane(G_MAP_MARKER_PANE).appendChild(label);
this.map = map;
this.label = label;
}
google.maps.MessagesMarker.prototype.redraw = function(force){
google.maps.Marker.prototype.redraw.call(this, jltourGoogleMap.map);
if(!force)
{
return;
}
var point = this.map.fromLatLngToDivPixel(this.latlng);
var z = google.maps.Overlay.getZIndex(this.latlng.lat());
this.label.style.left = (point.x + this.labelOffset.width-8) + 'px';
this.label.style.top = (point.y + this.labelOffset.height+10) + 'px';
// this.label.style.left = (point.x+ this.labelOffset.width)+ 'px';
//this.label.style.top = (point.y+ this.labelOffset.height) + 'px';
this.label.style.zIndex = z + 1;
}
google.maps.MessagesMarker.prototype.remove = function(){
this.label.parentNode.removeChild(this.label);
this.label = null;
google.maps.Marker.prototype.remove.call(this);
}
相关推荐
地图功能 就是一个javascript的接口,他们网站上给出事例,你按照他们给出的方法引入js文件,再调用js函数就实现了,很简单的,一看就明白。 如果看不明白建议去javascript版块询问
一个使用谷歌地图的简单 JavaScript 库。 特征 - Map - Geocoder - InfoWindow - Marker - Markers 版本 切换分支菜单以获取当前版本。 用 在您的 html 文件中加载脚本 google_maps.js 或 google_maps.min.js。 ...
JavaScript
editorjs-googlemap Editor.js 谷歌地图内嵌工具特征允许在您的文章中添加谷歌地图预览。安装通过 NPM 安装获取包裹npm i --save-dev editorjs-googlemap 在您的应用程序中包含模块 const GoogleMap = require ( '...
/// <reference path="GoogleMap_AutoComplete.js" /> 就可以智能感知了,具体效果图请参考我的博客 具体效果图请参考我的博客 妈的,公司领导他妈的变态,连csdn 的 blog 都封了,用代理上起也慢得要死,晚上再贴...
Aspnet-ASP.NET-C-and-Google-Map.zip,asp.net c和google map solved页未加载asp.net-c-and-google-map,asp.net是一个开源的web框架,用于使用.net构建现代web应用和服务。asp.net创建基于html5、css和javascript的...
写了很多关于googlemap js v3的示例,仅供参考
下载如有问题,可私信博主。下载前建议先查看博客内容,其地址为:https://blog.csdn.net/QQ98281642/article/details/116912862
mfc界面中嵌入google map.通过mfc调用javascript来对地图进行交互。
google map 研究要点 想要用Google地图,首先就是要研究Google map API。Google map API是以JavaScript 形式对外开发的,允许您在网页中嵌入 Google 地图。
一个google map的js 介绍如何初始化google map
#map.js 轻松绘制谷歌地图。 无需包含 Google Maps API,插件会自动包含它。 ##依赖 jQuery 1.4+ ##Functions drawMap : 在指定位置显示地址。 loadMarkers :显示地图中的标记列表。 getDirections :显示从一...
Google Maps API Web 服务的一个Node.js客户端库
最简单也是最实用的google map 在页面中调用google map可以自己给定地址,并且含有放大、缩小控件
一个简单的googlemap查询实例,很不错的,可以参考
使用Javascript编写的google map(IE下通过),图片是从google上提取的,提取程序在包里。
利用google map实现轨迹回放利用google map实现轨迹回放
简介 <br>很多人都知道Google Map,其实,Google为我们自己开发应用程序提供了丰富的API,我们只要具备一些JavaScript的知识,就完全可以利用它们。但是,对于我来说,在ASP.NET页面中使用JavaScript来调用Google...
只有一个Jar包,然后敲命令,后来感觉敲命令比较麻烦,就用Ant构建了下,支持多个不同目录下的JS压缩到一个JS文件中,还支持批处理分别压缩,挺方便的。