brmap.java
来自「java调用ie浏览器demo源码,可以用在windows或者linux」· Java 代码 · 共 1,142 行 · 第 1/4 页
JAVA
1,142 行
.addComponent(btGoogleMap, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btMicrosoftMap, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btYahooMap, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 129, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(sbAlpha, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(btRoadView, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btSatelliteView, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btHybridView, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btRoadView, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btSatelliteView, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btHybridView, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGap(26, 26, 26)
.addComponent(bnZoomPlus, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(sbZoomLevel, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(bnZoomMinus, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btGoogleMap, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btMicrosoftMap, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btYahooMap, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 36, Short.MAX_VALUE)
.addComponent(sbAlpha, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
btGoogleMap.getAccessibleContext().setAccessibleName("Google");
btMicrosoftMap.getAccessibleContext().setAccessibleName("Microsoft");
btYahooMap.getAccessibleContext().setAccessibleName("Yahoo");
}// </editor-fold>//GEN-END:initComponents
*/
private void btRoadViewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btRoadViewActionPerformed
setViewType(VIEW_ROAD);
}//GEN-LAST:event_btRoadViewActionPerformed
private void btSatelliteViewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btSatelliteViewActionPerformed
setViewType(VIEW_SATELLITE);
}//GEN-LAST:event_btSatelliteViewActionPerformed
private void btHybridViewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btHybridViewActionPerformed
setViewType(VIEW_ROAD|VIEW_SATELLITE);
}//GEN-LAST:event_btHybridViewActionPerformed
private void sbZoomLevelStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_sbZoomLevelStateChanged
//System.out.println("zoom from sb:" + sbZoomLevel.getValue());
setZoomLevel(sbZoomLevel.getValue());
}//GEN-LAST:event_sbZoomLevelStateChanged
private void bnZoomPlusActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnZoomPlusActionPerformed
setZoomLevel(getZoomLevel()+1);
}//GEN-LAST:event_bnZoomPlusActionPerformed
private void bnZoomMinusActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnZoomMinusActionPerformed
setZoomLevel(getZoomLevel()-1);
}//GEN-LAST:event_bnZoomMinusActionPerformed
private void btGoogleMapActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btGoogleMapActionPerformed
setMapProvider(MAP_GOOGLE);
}//GEN-LAST:event_btGoogleMapActionPerformed
private void btMicrosoftMapActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btMicrosoftMapActionPerformed
setMapProvider(MAP_MS_LIVE);
}//GEN-LAST:event_btMicrosoftMapActionPerformed
private void btYahooMapActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btYahooMapActionPerformed
setMapProvider(MAP_YAHOO);
}//GEN-LAST:event_btYahooMapActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
public javax.swing.JButton bnZoomMinus;
public javax.swing.JButton bnZoomPlus;
public javax.swing.JToggleButton btGoogleMap;
public javax.swing.JToggleButton btHybridView;
public javax.swing.JToggleButton btMicrosoftMap;
public javax.swing.JToggleButton btRoadView;
public javax.swing.JToggleButton btSatelliteView;
public javax.swing.JToggleButton btYahooMap;
public javax.swing.JSlider sbAlpha;
public javax.swing.JSlider sbZoomLevel;
// End of variables declaration//GEN-END:variables
/*
var event_cancelBubble = false;
var event_return = false;
window.status = "javaevent"
+ "," + event.type //1
+ "," + event.x //2
+ "," + event.y //3
+ "," + event.button;//4
*/
public Point2D point2LL(Point pt) {
String boundsLL = execJS( "_fromPointToLatLng(" +
+ pt.x + "," + pt.y + ");" );
String args[] = boundsLL.split(",");
return new Point2D.Double(Double.parseDouble(args[0]), Double.parseDouble(args[1]));
}
public void processJSEvents(String st)
{
final String args[] = st.split(",");
String type = args[1].toLowerCase();
if( type.equals("mapready") ){
SwingUtilities.invokeLater(new Runnable(){ public void run() {
setMapReady(true);
}});
} else if( type.equals("foundaddress") ){
onFoundAddress(args);
} else if( type.equals("viewrequest") ){
onViewRequest();
} else if( type.equals("zoomchanged") ){
SwingUtilities.invokeLater(new Runnable(){ public void run() {
skipJSChanges = true;
setZoomLevel(Integer.parseInt(args[2]));
//System.out.println("zoom from JS:" + args[2]);
skipJSChanges = false;
}});
} else if( type.equals("centerchanged") ){
SwingUtilities.invokeLater(new Runnable(){ public void run() {
skipJSChanges = true;
setViewCenter(args[2] + "," + args[3]);
skipJSChanges = false;
}});
} else if(isMapReady() && type.contains("mouse")){
onMouseEvent(type, args);
}
}
@Override
public String processBrComponentEvent(BrComponentEvent e) {
if(BrComponentEvent.DISPID_STATUSTEXTCHANGE == e.getID()){
final String st = e.getValue();
if( st.startsWith("javaevent,") ){
processJSEvents(st);
//block message echo
execJS(":window.status=\"\"");
}
}
return super.processBrComponentEvent(e);
}
@Override
public void paintClientArea(Graphics g, boolean withPeer) {
super.paintClientArea(g, withPeer);
Rectangle _rcNewSelect = rcNewSelect;
if(null!=_rcNewSelect){
int iMetters = (int)distanse;
String stDisplay = "";
int iKm = iMetters/1000;
if(0 < iKm){
stDisplay = iKm + "km ";
}
if(iKm < 5) {
stDisplay += (iMetters % 1000) + "m";
}
paintPlaceHolder(
g,
_rcNewSelect.x, _rcNewSelect.y, _rcNewSelect.width, _rcNewSelect.height,
stDisplay
);
rcOldSelect = new Rectangle(_rcNewSelect);
}
}
public boolean skipJSChanges = false;
public void setMapProperty(
String stName,
Object oValue)
{
if( isMapReady()
&& !stURL.equals(stAboutBlank)
&& !skipJSChanges)
{
execJS(":_set" + stName + "(" + oValue + ");");
}
}
/**
* Holds value of property viewCenter.
*/
private String viewCenter = "37.70,-122.44";
/**
* Getter for property viewCenter - the center of map "Latitude, Longitude".
* @return Value of property viewCenter.
*/
public String getViewCenter() {
return viewCenter;
}
/**
* Converter for property viewCenter to Point2D
* @param center String in "latitude, longitude" format.
* @return Parsed Point2D object.
*/
public Point2D getPoint(String center) {
String ll[] = center.split(",");
return new Point2D.Double(
Double.parseDouble(ll[0]),
Double.parseDouble(ll[1])
);
}
/**
* Setter for property viewCenter.
* @param viewCenter New value of property viewCenter.
*/
public void setViewCenter(String viewCenter) {
if( !viewCenter.equals(this.viewCenter) ){
setMapProperty("Center", viewCenter);
}
String old = this.viewCenter;
this.viewCenter = viewCenter;
propertyChangeSupport.firePropertyChange("viewCenter", old, viewCenter);
}
/**
* Holds value of property _viewZoomLevel.
*/
private int viewZoomLevel = 6;
/**
* Getter for property _viewZoomLevel - [1..19]
* @return Value of property _viewZoomLevel.
*/
public int getZoomLevel() {
return viewZoomLevel;
}
/**
* Setter for property _viewZoomLevel.
* @param _viewZoomLevel New value of property _viewZoomLevel.
*/
public void setZoomLevel(int _viewZoomLevel) {
int old = viewZoomLevel;
viewZoomLevel = _viewZoomLevel;
viewZoomLevel = Math.max(viewZoomLevel, ZOOM_MIN);
viewZoomLevel = Math.min(viewZoomLevel, mapInfos[mapProvider].getMaxZoomLevel());
bnZoomPlus.setEnabled(
viewZoomLevel<mapInfos[mapProvider].getMaxZoomLevel());
bnZoomMinus.setEnabled(
viewZoomLevel>1);
//System.out.println("Zoom:" + toString() + "we set:" + viewZoomLevel);
sbZoomLevel.setValue(viewZoomLevel);
if( old!=viewZoomLevel ){
setMapProperty("ZoomLevel", viewZoomLevel);
}
propertyChangeSupport.firePropertyChange("viewZoomLevel", old, viewZoomLevel);
}
/**
* Holds value of property _viewType.
*/
private int viewType = VIEW_ROAD;
/**
* Getter for property viewType - combination of VIEW_XXXX consts
* @return Value of property viewType.
*/
public int getViewType() {
return viewType;
}
/**
* Setter for property viewType.
* @param _viewType New value of property viewType.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?