def options_to_url_params # :nodoc:
      params = DEFAULT_OPTIONS.keys.map(&:to_s).sort.inject([]) do |params, attr|
        primary_getter = "#{attr}_to_be_used_in_param"
        secondary_getter = attr

        value = send(primary_getter) rescue send(secondary_getter)
        params << "#{attr}:#{URI.escape(value.to_s)}" unless value.nil?
        params
      end

      params.join('|')
    end
def options_to_url_params # :nodoc:
      params = DEFAULT_OPTIONS.keys.map(&:to_s).sort.inject([]) do |params, attr|
        primary_getter = "#{attr}_to_be_used_in_param"
        secondary_getter = attr

        value = send(primary_getter) rescue send(secondary_getter)
        params << "#{attr}:#{URI.escape(value.to_s)}" unless value.nil?
        params
      end

      params.join('|')
    end
:call-seq:
   new(location_object_or_options, *args)

 Creates a new Marker object. A marker object will, when added to a Map, represent
 one marker which you can customize with color, size and label.

 <tt>:location_object_or_options</tt>::  Either an object which responds to lat and lng or simply a option hash
 <tt>:args</tt>::                        A hash of options. Can have keys like <tt>:color</tt>,
                                         <tt>:size</tt>, and <tt>:label</tt>.
                                         See Google's API documentation[http://code.google.com/apis/maps/documentation/staticmaps/#MarkerStyles] for more information.
                                         If a location object hasn't been given you must also include <tt>:lat</tt>
                                         and <tt>:lng</tt> values.


 Usage:

   # Sets location via object which responds to lng and lat
   GoogleStaticMapsHelper::Marker.new(location {:label => :a})

   # ..or include the lng and lat in the option hash
   GoogleStaticMapsHelper::Marker.new(:lng => 1, :lat => 2, :label => :a)


 Returns a string representing this marker
 Used by the Map when building url.