我有一个图像,其中我添加了多个标记针。我稍后将这些位置(x和y坐标)保存到数据库中。
这是我的代码,直到现在: https://jsfiddle.net/at3wsepm/7/
用户单击“保存”按钮后,坐标和引脚名称将保存到数据库中。
_this.position.x = _this.element.position().left;
_this.position.y = _this.element.position().top;
我需要的是,当用户重新加载页面时,我想从我的数据库中检索这些标记的位置,然后将它再次放在同一图像上。我可以使用PHP进行检索并将引脚和坐标作为JSON-但是如何将它们再次放置在图像上?
答案 0 :(得分:1)
嗯,这取决于您保存和检索数据的具体程度,但假设您能够将数据库中的X和Y坐标重新输入JavaScript,则需要设置通过.css
public void reflex(final TabLayout tabLayout){
tabLayout.post(new Runnable() {
@Override
public void run() {
try {
LinearLayout mTabStrip = (LinearLayout) tabLayout.getChildAt(0);
int dp10 = dip2px(tabLayout.getContext(), 10);
for (int i = 0; i < mTabStrip.getChildCount(); i++) {
View tabView = mTabStrip.getChildAt(i);
Field mTextViewField = tabView.getClass().getDeclaredField("mTextView");
mTextViewField.setAccessible(true);
TextView mTextView = (TextView) mTextViewField.get(tabView);
tabView.setPadding(0, 0, 0, 0);
int width = 0;
width = mTextView.getWidth();
if (width == 0) {
mTextView.measure(0, 0);
width = mTextView.getMeasuredWidth();
}
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) tabView.getLayoutParams();
params.width = width ;
params.leftMargin = dp10;
params.rightMargin = dp10;
tabView.setLayoutParams(params);
tabView.invalidate();
}
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
});
}
和left
属性。请注意,您还需要设置top
以外的position
才能生效。
static
这会将引脚添加到数据库值指定位置的背景中,如here所示。
请注意,这会在页面加载时在相对于地图元素左上角指定的位置添加一个图钉;如果指定的坐标超出了地图的尺寸,它们将出现在该元素之外;地图不会在它的滚动中隐藏它们。
希望这有帮助! :)