ENGLISH page is here.
GET DinopSearchBar
サイト内検索:
HOME
VC++ TIPS
ダウンロード
DinopExifReader
DinopSearchBar
DinopSearchBar mini
DinopTabbingBar
for Firefox
大阪湾の生き物
甲子園浜の自然
甲子園浜の干潟
甲子園浜の水中
甲子園浜の野鳥
近畿の山々
植物図鑑
箕面マップ
水中機材
カメラ
ランキング
望遠鏡の世界
顕微鏡の世界
Googleのすべて
GoogleマップAPI
ニュース
読んだ本
日記
変な料理の作り方
遺伝子操作
論文紹介
デイトレード
自動売買でFX
ネットで小遣い稼ぎ
Solaris
電子工作
その他
問い合わせ
VC++用コード集
大阪湾の生き物
水中用機材
since:2000/11/15
dinopcom@gmail.com
www.dinop.comは
だいのっぷ・どっと・こむ
と読んでください。







« 「缶入りトマトスパゲティ」ってなに? | メイン | 経緯度を検索してその場所の地図を表示する »

線の色、太さ、透明度を指定する




はじめに

 Google Maps(Google Local)のAPIを利用する方法を簡単に紹介しています。今回 は「描く線の色などを自由に設定する方法について」です。


スクリプトの変更

 前回に作成したコードを変更します。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <style type="text/css">
    v\:*
    {
      behavior:url(#default#VML);
    }
    </style>
    <script src="http://maps.google.com/maps?file=api&v=1&key=ABQIAAAAJ2A-EncISppmZHF0oZq2MxSIqVgmEE7Z7jvRqG49DJtM7mV-6xQVluTrLna8DIEesDPeKpUSnejCaA" type="text/javascript"></script>
  </head>
  <body>
    <div id="map" style="width: 500px; height: 400px"></div>
    <table><tr><td>
    <br><br><div id="label_test" style="width: 400px; height: 200px; overflow: scroll; padding: 3px; background-color: white; border: 1px solid black;"></div>
    </td><td>
    <input type=button value='戻る' id=button_back onclick="LineBack()">
    <br><form name=line_param>
    色<input type=text value='#FF0000' name=text_color><br>
    太さ<input type=text value='5' name=text_weight><br>
    透明度<input type=text value='0.4' name=text_opacity><br>
    <input type=button value='再描画' id=button_refresh onclick="LineRefresh()">
    </form>
    </td></tr>
    </table>
    <script type="text/javascript">
    //<![CDATA[
    
    var map = new GMap(document.getElementById("map"));
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
    map.centerAndZoom(new GPoint(135.3659722, 34.72072222), 4);
    
    function AddGMarker(objMap,nLatitude,nLongitude,strHtml)
    {
       var objPoint = new GPoint(nLatitude,nLongitude);
       var objMarker = new GMarker(objPoint);

       GEvent.addListener(objMarker,"click",function(){ objMarker.openInfoWindowHtml(strHtml); });
       objMap.addOverlay(objMarker);
    }

    AddGMarker(map,135.3659722,34.72072222,"<img src=http://www.dinop.com/google/map/use_html_comment_test.gif align=left>甲子園駅<br><br><a href=http://www.hanshintigers.jp/ target=_blank>阪神タイガース</a>の本拠地としても知<br>られる甲子園球場の目の前にあり<br>ます。<br clear=left>");
    AddGMarker(map,135.3585277,34.70730555,"甲子園浜");
    
    aobjPoints =
       [
          new GPoint(135.3659722,34.72072222),
          new GPoint(135.3585277,34.70730555)
       ];
    objLine = new GPolyline(aobjPoints,document.line_param.text_color.value,document.line_param.text_weight.value,document.line_param.text_opacity.value);
    map.addOverlay(objLine);
    GEvent.addListener(map, 'click', function(objOverlay, objPoint)
       {
          if(objPoint)
          {
             map.removeOverlay(objLine);
             aobjPoints.length++;
             aobjPoints[aobjPoints.length - 1] = new GPoint(objPoint.x,objPoint.y);
             objLine = new GPolyline(aobjPoints,document.line_param.text_color.value,document.line_param.text_weight.value,document.line_param.text_opacity.value);
             map.addOverlay(objLine);
             
             document.getElementById("label_test").innerHTML += objPoint.x + ',' + objPoint.y + "<br>";
           }
        });
    _map = map;
    
    function LineBack()
    {
        var map = _map;
        map.removeOverlay(objLine);
        if(aobjPoints.length > 0)
           aobjPoints.length--;
        objLine = new GPolyline(aobjPoints,document.line_param.text_color.value,document.line_param.text_weight.value,document.line_param.text_opacity.value);
        map.addOverlay(objLine);
        
        var strData = "";
        for(i = 0; i < aobjPoints.length; i++)
           strData += aobjPoints[i].x + ',' + aobjPoints[i].y + "<br>";
        document.getElementById("label_test").innerHTML = strData;
    }
    
    function LineRefresh()
    {
        var map = _map;
        map.removeOverlay(objLine);
        objLine = new GPolyline(aobjPoints,document.line_param.text_color.value,document.line_param.text_weight.value,document.line_param.text_opacity.value);
        map.addOverlay(objLine);
    }
    
    //]]>
    </script>
  </body>
</html>
 赤字が変更や追加した部分です。
 太字の部分はAPI Keyです(人それぞれ異なる値です)。

 実際に動かして地図の中をクリックすると線を描くことができ、線の色を変更して「再描画」ボタンを 押すと色が変わります。同じように太さや透明度も自由に設定できます。入力された値のチェックはして いません。そのため不正な値は入力しないようにしてください。









Copyright (c) 1999-2007 issei. All rights reserved. (運営者情報