Commit 4bec0105 by jscat

nyx: map模块

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