From 04bc6b13175f4274933b42278576be9e18ab8ef7 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Tue, 17 Jul 2018 14:31:36 +0800
Subject: [PATCH] 地图 type 功能实现

---
 src/main/webapp/js/moralmap.js |   47 +++++++++++++++++++++++++++++++----------------
 1 files changed, 31 insertions(+), 16 deletions(-)

diff --git a/src/main/webapp/js/moralmap.js b/src/main/webapp/js/moralmap.js
index 3ff6473..c6c25bc 100644
--- a/src/main/webapp/js/moralmap.js
+++ b/src/main/webapp/js/moralmap.js
@@ -44,22 +44,36 @@
 	 * ���������������������
 	 */
 	moralMap.mapInit = function() {
-		baiduMap = new BMap.Map("mapCanvas", {
-			minZoom: 12,
-			maxZoom: 20
-		}); // ������Map������,���������������������������/���������
+	    var defaultParam = {
+            minZoom: 12,
+            maxZoom: 20
+        };
+	    debugger;
+	    if(!!arguments[1]) {
+         $.extend(defaultParam,arguments[1]);
+        }
+		baiduMap = new BMap.Map("mapCanvas",defaultParam); // ������Map������,���������������������������/���������
 		var map = baiduMap;
 		var mapStyle = {
 			features: ["road", "building", "water", "land"], //������������������poi
 			style: "normal" //������������������������������ 
 		}
 		map.setMapStyle(mapStyle);
-		var showZoom = 13;
-		if(arguments.length == 2) {
-			map.centerAndZoom(new BMap.Point(arguments[0], arguments[1]), showZoom);
-		} else if(arguments.length == 1) {
-			map.centerAndZoom(arguments[0], showZoom);
-		}
+		var showZoom = 12;
+        var address = arguments[0];
+        var regoinNames = address.split(" ");
+        var cityName = regoinNames.length>1?regoinNames[1]:regoinNames[0];
+        map.setCurrentCity(cityName);
+            // ���������������������������������������,���������������������
+            // ���������������������������
+            var myGeo = new BMap.Geocoder();
+            myGeo.getPoint(address, function(point){
+                if (point) {
+                    map.centerAndZoom(point, showZoom);
+                }else{
+                    alert("������������������������������������!");
+                }
+            }, cityName);
 		//������������������
 		map.enableScrollWheelZoom(true);
 		var navigation = new BMap.NavigationControl({
@@ -170,8 +184,8 @@
 		_bounds.southwestLat = _bounds.southwestLat || bs.southwestLat;
 		_bounds.northeastLng = bs.northeastLng > _bounds.northeastLng ? bs.northeastLng: _bounds.northeastLng;
 		_bounds.northeastLat = bs.northeastLat > _bounds.northeastLat ? bs.northeastLat: _bounds.northeastLat;
-		_bounds.southwestLng = bs.southwestLng > _bounds.southwestLng ? bs.southwestLng: _bounds.southwestLng;
-		_bounds.southwestLat = bs.southwestLat > _bounds.southwestLat ? bs.southwestLat: _bounds.southwestLat;
+		_bounds.southwestLng = bs.southwestLng < _bounds.southwestLng ? bs.southwestLng: _bounds.southwestLng;
+		_bounds.southwestLat = bs.southwestLat < _bounds.southwestLat ? bs.southwestLat: _bounds.southwestLat;
 		this[key] = _bounds;
 	}
 	moralMap.isOverBounds = function() {
@@ -184,8 +198,8 @@
 		} else {
 			    isOver = (bs.northeastLng > _bounds.northeastLng
 						|| bs.northeastLat > _bounds.northeastLat
-						|| bs.southwestLng > _bounds.southwestLng
-						|| bs.southwestLat > _bounds.southwestLat);
+						|| bs.southwestLng < _bounds.southwestLng
+						|| bs.southwestLat < _bounds.southwestLat);
 			  if(isOver){
                   moralMap.setMaxBounds(bs);
 			  }
@@ -427,7 +441,7 @@
 								state = stateObj["state"];
 								stateName = stateObj["stateName"];
 								var name = e['name'];
-								if(moralMap.getUtf8Length(name) > 24) {
+								if(moralMap.getUtf8Length(name) > 22) {
 									var stop1 = 0;
 									for(var stop1_i = 0, len = 0; stop1_i < name.length; stop1_i++) {
 										len += ((name.charCodeAt(stop1_i) & 0xff00) != 0) ? 2 : 1;
@@ -541,7 +555,7 @@
 				width: 110, // ������������������
 				height: 80, // ������������������
 				title: getTitleOutHtml(), // ������������������
-				offset: new BMap.Size(-2,0) //���������������������
+				offset: new BMap.Size(-8,-5) //���������������������
 			}
 
 			function getTitleOutHtml() {
@@ -836,6 +850,7 @@
 					if(typeof option == 'object') {
 						var longitude = option['longitude'];
 						var latitude = option['latitude'];
+						// ������������������������������������
 						if(longitude < bounds.northeastLng && longitude > bounds.southwestLng && latitude < bounds.northeastLat && latitude > bounds.southwestLat) {
 							markers.push(oldmarker);
 						}

--
Gitblit v1.8.0