① layer.open能使用後台傳前端的session數據嗎
前端的session數據需要前端調用介面傳給後端
② 如何使用Openlayer發布穀歌衛星地圖
方法/步驟
下載地圖瓦片
1.打開Biemap地圖下載器,框選要發布的地圖范圍,雙擊彈出下載選項框,瓦片類型選擇谷歌,文件類型建議使用png 格式,以獲得最佳清晰度。
配置Openlayer:
地圖瓦片下載完成之後 ,將瓦片放置在網站目錄下的tile文件夾中。
新建一個index.html文件,放在網站目錄下。
引入下載的Openlayer文件,這兩個文件都需要引入
最後文件結構
index.html的HTML部分
JS部分
6
這樣就配置好了,在瀏覽器中輸入網站地址,可以正常瀏覽了,如下圖:
③ 請教各位用Openlayers+geoserver怎麼實現這種效果
第一種方法 ,真要用panel的話,只能自己去畫字和線了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
class MyFrame extends JFrame{
JPanel panel=new JPanel();
MyPanel myPanel=new MyPanel();
JButton button=new JButton("add");
JTextField itemField=new JTextField("測式");
MyFrame(){
BorderLayout layout=new BorderLayout();
panel.setLayout(layout);
panel.add(myPanel,BorderLayout.CENTER);
panel.add(itemField,BorderLayout.EAST);
this.setBounds(0, 0, 640, 480);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.add(panel,BorderLayout.CENTER);
this.add(button,BorderLayout.EAST);
this.setVisible(true);
button.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
myPanel.addItem(itemField.getText());
}
});
}
public static void main(String[] args) {
new MyFrame().setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
class MyPanel extends JPanel{
int rowHeight=25;
int fontSize=20;
List<String> itemList=new ArrayList<String>();
public void addItem(String item){
itemList.add(item);
updateUI();
}
private void printItemList(Graphics g){
for(int i=0;i<itemList.size();i++){
g.drawString(itemList.get(i), 0, rowHeight*(i+1));
g.drawLine(0, rowHeight*(i+1)+5, 100, rowHeight*(i+1)+5);
g.drawLine(100, rowHeight*i+5, 100, rowHeight*(i+1)+5);
}
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Color color=g.getColor();
g.setColor(Color.BLACK);
printItemList(g);
g.setColor(color);
}
}
第二種方法,用現成的控制項JTable代替嵌的panel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class MyFrame extends JFrame{
DefaultTableModel dtm=new DefaultTableModel();
MyFrame(){
JButton button=new JButton("add");
JPanel panel=new JPanel();
JTable table=new JTable(dtm);
dtm.addColumn("column");
table.setFillsViewportHeight(true);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
setBounds(0, 0, 640, 480);
add(table,BorderLayout.CENTER);
add(button,BorderLayout.EAST);
setVisible(true);
button.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
addItem(System.currentTimeMillis()+" <-測式數據");
}
});
}
private void addItem(String item){
dtm.insertRow(0, new String[]{item});
}
public static void main(String[] args) {
new MyFrame().setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
有現成的控制項為什麼不用的,簡單而不易出錯,推薦使用JTable
如果你為了學習控制項重繪,或畫圖,可以考慮自己用畫板去實現自己 要繪的內容
web上的話,循環寫入數據就行jsp就行了 格式在html里定義好,更簡單
④ openlayers6 redraw()方法
這方法還是不錯的,可以試用
⑤ geotools openlayer地圖緩存放在哪
具體操作步驟如下:
1)首先打開網路地圖,點擊工具;
2)在工具中找到測距,點擊,出現你當時所在的地圖,同時你也可以進行縮放選擇點擊你想查找的起始地點;
3)再點擊另外一個你想去的地點,點擊後就出現路程。測距就已經結束了。
⑥ 請問用OpenLayers技術怎樣將數據載入到地圖上
方式挺多的看你選則那種方式,用kml也可以或者是xml通過OpenLayers的GML讀取這個文件就可以了
⑦ 幫忙介紹下openlayers的ol.js文件
OpenLayers是一個開源的js框架,用於在您的瀏覽器中實現地圖瀏覽的效果和基本的zoom,pan等功能。OpenLayers支持的地圖來源 包括了WMS,GoogleMap,KaMap,MSVirtualEarth等等,您也可以用簡單的圖片作為源,在這一方面OPenLayers提供了 非常多的選擇。
要使用OpenLayers,您可以到它的官方網站http://www.openlayers.org下載他的壓縮包,解壓後可以看到其中的一些目錄和 文件。拷貝dist目錄下的OpenLayer.js、根目錄下的lib目錄、根目錄下的img目錄到你網站的scripts目錄下(當然,這個只是例 子,您網站的目錄結構您自己說得算,只要保證OpenLayers.js,/lib,/img在同一目錄中即可)。
接下來創建一個index.html作為查看地圖的頁面。導入OpenLayers.js和你將要創建的js。內容需要一個div,我們給它的id起名叫做area。你有必要在寫一些CSS限定#area的寬度和高度,如果樂意,加上一個border也是很不錯的選擇。
廢話不多說,我們首先要創建一個OpenLayer.Map對象的實例:
var map = new OpenLayers.Map("area");
其中的參數可以傳id,也可以傳ElementObject,當然id更加方便一些。