Commit 4bec0105 by jscat

nyx: map模块

通过tag相对于地图左上角的坐标来进行定位;
解决:不同device下tag坐标不准确的问题
缺点:getMemberPos放在了LoadMap里实现,加载变慢;
parent 344e5b60
{ {
...@@ -28,10 +28,10 @@ ...@@ -28,10 +28,10 @@
"backgroundColor": "#ffffff", "backgroundColor": "#ffffff",
"list": [ "list": [
{ {
"pagePath": "pages/key/key", "pagePath": "pages/map/map",
"text": "竞答", "text": "地图",
"iconPath": "./icon/key.png", "iconPath": "./icon/map1.png",
"selectedIconPath": "./icon/key.png" "selectedIconPath": "./icon/map1.png"
}, },
{ {
"pagePath": "pages/discover/discover", "pagePath": "pages/discover/discover",
...@@ -40,11 +40,11 @@ ...@@ -40,11 +40,11 @@
"selectedIconPath": "./icon/discover2.png" "selectedIconPath": "./icon/discover2.png"
}, },
{ {
"pagePath": "pages/map/map", "pagePath": "pages/key/key",
"text": "地图", "text": "知识",
"iconPath": "./icon/map1.png", "iconPath": "./icon/key.png",
"selectedIconPath": "./icon/map1.png" "selectedIconPath": "./icon/key.png"
}, },
{ {
"pagePath": "pages/my/my", "pagePath": "pages/my/my",
"text": "我的", "text": "我的",
......
var config = wx.getStorageSync("config"); var config = wx.getStorageSync("config");
...@@ -193,7 +193,8 @@ Page({ ...@@ -193,7 +193,8 @@ Page({
var deltaL = self.imgLeft - imgPos.left var deltaL = self.imgLeft - imgPos.left
var deltaT = self.imgTop - imgPos.top var deltaT = self.imgTop - imgPos.top
//step3: 计算tag初始坐标 //step3: 计算tag初始坐标:
// x向右,y向右; center为可视区域center
var initPos = genInitPos(self, scaleL-deltaL, scaleT-deltaT, newScale) var initPos = genInitPos(self, scaleL-deltaL, scaleT-deltaT, newScale)
var strUrl = config.msg_add_url var strUrl = config.msg_add_url
var tmp = { var tmp = {
...@@ -282,10 +283,6 @@ Page({ ...@@ -282,10 +283,6 @@ Page({
var _this = this; var _this = this;
let name = e.detail.value.name;//获取名称 let name = e.detail.value.name;//获取名称
var address = e.detail.value.address;//获取地址 var address = e.detail.value.address;//获取地址
// var initTextL = parseFloat(e.detail.value.initTextL);//获取地址
// var initTextT = parseFloat(e.detail.value.initTextT);//获取地址
// var textL = parseFloat(e.detail.value.textL);//获取地址
// var textT = parseFloat(e.detail.value.textT);//获取地址
if (name != "" && address != "") { if (name != "" && address != "") {
_this.addMember(name, address) _this.addMember(name, address)
} }
...@@ -340,8 +337,8 @@ Page({ ...@@ -340,8 +337,8 @@ Page({
//获得新的地区名 //获得新的地区名
var districtName = district[0] var districtName = district[0]
var areaName = city[cityIndex] + "_" + districtName var areaName = city[cityIndex] + "_" + districtName
_this.getMemberPos("", areaName)
_this.loadMap(_this, url[0], areaName) _this.loadMap(_this, url[0], areaName)
//_this.getMemberPos("", areaName)
_this.cacheImage(); _this.cacheImage();
} }
} }
...@@ -420,8 +417,8 @@ Page({ ...@@ -420,8 +417,8 @@ Page({
//获得新的地区名 //获得新的地区名
var districtName = district[0] var districtName = district[0]
var areaName = cityName + "_" + districtName var areaName = cityName + "_" + districtName
_this.getMemberPos("", areaName)
_this.loadMap(_this, url[0], areaName) _this.loadMap(_this, url[0], areaName)
//_this.getMemberPos("", areaName)
_this.cacheImage(); _this.cacheImage();
} }
} }
...@@ -451,16 +448,28 @@ Page({ ...@@ -451,16 +448,28 @@ Page({
if (res.data.resultCode == 200) { if (res.data.resultCode == 200) {
//表示HTTP请求成功 //表示HTTP请求成功
console.log(res.data); console.log(res.data);
var initImgLeft = _this.data.initImgLeft
var initImgTop = _this.data.initImgTop
console.log("left_"+initImgLeft)
console.log("top_" + initImgTop)
var list = [] var list = []
for (var i = 0; i < res.data.data.length; i++) { for (var i = 0; i < res.data.data.length; i++) {
var result = {} var result = {}
result["id"] = res.data.data[i].id result["id"] = res.data.data[i].id
result["name"] = res.data.data[i].memberName result["name"] = res.data.data[i].memberName
result["textL"] = parseFloat(res.data.data[i].posLeft) var textL = parseFloat(res.data.data[i].posLeft * 2 / _this.initRatio + initImgLeft)
result["textT"] = parseFloat(res.data.data[i].posTop) var textT = parseFloat(res.data.data[i].posTop * 2 / _this.initRatio + initImgTop)
console.log(_this)
console.log("left_" + initImgLeft)
console.log("top_" + initImgTop)
console.log("textL_" + textL)
console.log("textT_" + textT)
result["textL"] = textL
result["textT"] = textT
result["address"] = res.data.data[i].memberAddress result["address"] = res.data.data[i].memberAddress
result["initTextL"] = parseFloat(res.data.data[i].posLeft) //load from db, in rpx format
result["initTextT"] = parseFloat(res.data.data[i].posTop) result["initTextL"] = textL
result["initTextT"] = textT
list.push(result) list.push(result)
} }
...@@ -499,13 +508,13 @@ Page({ ...@@ -499,13 +508,13 @@ Page({
_this.setData( _this.setData(
{ {
districtIndex: currentDistrictIndex, districtIndex: currentDistrictIndex,
allText: [],
} }
) )
var cityName = _this.__data__.city[cityIndex] var cityName = _this.__data__.city[cityIndex]
var districtName = _this.__data__.district[currentDistrictIndex] var districtName = _this.__data__.district[currentDistrictIndex]
var areaName = cityName + "_" + districtName var areaName = cityName + "_" + districtName
_this.getMemberPos("", areaName) _this.loadMap(_this, _this.__data__.url[currentDistrictIndex], areaName)
_this.loadMap(_this, _this.__data__.url[currentDistrictIndex], areaName)
_this.cacheImage(); _this.cacheImage();
}, },
...@@ -529,7 +538,7 @@ Page({ ...@@ -529,7 +538,7 @@ Page({
img_cache_key: img_cache_key, img_cache_key: img_cache_key,
imgUrl: imgUrl imgUrl: imgUrl
}) })
loadImgOnImage(self, tempPath) loadImgOnImage(self, tempPath, areaName)
}, },
fail: function (errmsg) { fail: function (errmsg) {
console.log("===loadMap, fail Load res from temp") console.log("===loadMap, fail Load res from temp")
...@@ -540,7 +549,7 @@ Page({ ...@@ -540,7 +549,7 @@ Page({
img_cache_key: img_cache_key, img_cache_key: img_cache_key,
imgUrl: imgUrl imgUrl: imgUrl
}) })
loadImgOnImage(self, imgUrl) loadImgOnImage(self, imgUrl, areaName)
}, },
}) })
} }
...@@ -551,7 +560,7 @@ Page({ ...@@ -551,7 +560,7 @@ Page({
img_cache_key: img_cache_key, img_cache_key: img_cache_key,
imgUrl: imgUrl imgUrl: imgUrl
}) })
loadImgOnImage(self, imgUrl) loadImgOnImage(self, imgUrl, areaName)
} }
}, },
...@@ -634,7 +643,7 @@ Page({ ...@@ -634,7 +643,7 @@ Page({
}) })
// system function // system function
function loadImgOnImage(self, imgUrl) { function loadImgOnImage(self, imgUrl, areaName) {
wx.getImageInfo({ wx.getImageInfo({
src: imgUrl, src: imgUrl,
success: function (res) { success: function (res) {
...@@ -665,6 +674,8 @@ function loadImgOnImage(self, imgUrl) { ...@@ -665,6 +674,8 @@ function loadImgOnImage(self, imgUrl) {
initImgLeft: self.startX initImgLeft: self.startX
}) })
// wx.hideLoading(); // wx.hideLoading();
//需要在地图装在之后再重置数据
self.getMemberPos("", areaName)
} }
}) })
} }
...@@ -814,7 +825,7 @@ function drawOnTouchMove(self, e) { ...@@ -814,7 +825,7 @@ function drawOnTouchMove(self, e) {
var textPos = {} var textPos = {}
for (let i = 0; i < allText.length; i++) { for (let i = 0; i < allText.length; i++) {
//step3: 计算tag点新坐标 //step3: 计算tag点新坐标 in px
textPos = genScalePos(self, allText[i].initTextL, allText[i].initTextT, newScale) textPos = genScalePos(self, allText[i].initTextL, allText[i].initTextT, newScale)
// step4新的tag点坐标 // step4新的tag点坐标
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论