# -*- coding: utf-8 -*- # # yahoo_map.rb - embeded Yahoo! JAPAN Map for tDiary # # Copyright (C) 2010, KAYA Satoshi # You can redistribute it and/or modify it under GPL2. # add_header_proc do init_ymap r = '' if @conf['yahoo_jp.appid'] and @conf['yahoo_jp.appid'].size > 0 r << %Q|| end end add_conf_proc( 'yahoo_jp_appid', 'Yahoo! JAPAN Application ID' ) do if @mode == 'saveconf' then @conf['yahoo_jp.appid'] = @cgi.params['yahoo_jp.appid'][0] end <<-HTML

Yahoo! JAPAN Application ID

Get Application id

HTML end add_footer_proc do |date| insert_ymap_js end def init_ymap @ymap_container = Array.new end def generate_ymapid(lat, lon, layer, size) ymapid = 'ymapid' << lat.to_s << lon.to_s << layer.to_s << size ymapid.delete('.') end def yahoo_map(lat, lon, options = {}) options[:layer] ||= 17 options[:size] ||= 'medium' if feed? return %Q|

Link to Yahoo! JAPAN Map

| end # define map size height = {'small'=> '240px', 'medium' => '360px', 'large' => '480px'} width = {'small' => '320px', 'medium' => '480px', 'large' => '640px'} size = options[:size] ymapid = generate_ymapid(lat, lon, options[:layer], options[:size]) ymap_info = {:ymapid => ymapid, :lat => lat, :lon => lon, :layer => options[:layer]} @ymap_container << ymap_info %Q|
| end def insert_ymap_js r = '' if @ymap_container.size > 0 and not feed? then r << %Q|| end end # Local Variables: # mode: ruby # indent-tabs-mode: t # tab-width: 3 # ruby-indent-level: 3 # End: # vim: ts=3