var map = Maps.newStaticMap().setSize(400, 300)先ほど紹介した、StaticMapの設定を行うメソッドは、設定変更済みの自分自身(このStaticMapオブジェクト自身)を返すようになっています。このため、このようにメソッドをどんどん続けて既述し呼び出すことが可能なのです。これで変数mapには、大きさ・中心位置・ズーム・使用言語・マップの種類がすべて設定済みとなったStaticMapオブジェクトが代入されます。
.setCenter(getname).setZoom(14).setLanguage('ja')
.setMapType(Maps.StaticMap.Type.HYBRID);
var url = map.getMapUrl();StaticMapには、作成されたマップのイメージをサーバーから受け取る機能があります。必要な設定をした後、「getMapUrl」で、そのマップのURLを取得します。このURLにアクセスすると、マップイメージが送られてくるのです。ここでは、createImageの引数にこのURLを設定することで、そのイメージを表示するImageオブジェクトを作成しています。後はそれをパネルに組み込んで表示するだけ、というわけです。
panel.add(app.createImage(url));
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
function myFunction() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
// 地名をたずねる
var getname = Browser.inputBox("地名",
"住所または地名・建造物名を入力:", Browser.Buttons.OK_CANCEL);
// 静止画マップを取得する
var map = Maps.newStaticMap().setSize(400, 300)
.setCenter(getname).setZoom(14).setLanguage('ja')
.setMapType(Maps.StaticMap.Type.HYBRID);
// UiAppとVerticalPanelを作成する
var app = UiApp.createApplication();
var panel = app.createVerticalPanel();
// マップのイメージを設定したImageコンポーネントを追加する
var url = map.getMapUrl();
panel.add(app.createImage(url));
// あとはパネルを追加して表示するだけ
app.add(panel);
sheet.show(app);
}
| << 前へ | 次へ >> |