Beispiel #1
0
static void get_street_from_line (int square, int line, const char **street_name, const char **city_name) {

    RoadMapStreetProperties properties;
    roadmap_square_set_current(square);
    roadmap_street_get_properties (roadmap_line_get_street (line), &properties);
    *street_name = roadmap_street_get_street_name (&properties);
    *city_name = roadmap_street_get_city_name (&properties);
}
Beispiel #2
0
void roadmap_plugin_get_street_properties (const PluginLine *line,
                                           PluginStreetProperties *props,
                                           int type) {
   
   if (line->plugin_id == ROADMAP_PLUGIN_ID) {

      RoadMapStreetProperties rm_properties;

	   roadmap_square_set_current (line->square);

      if (type == PLUGIN_STREET_ONLY) {
         roadmap_street_get_street (line->line_id, &rm_properties);
         props->street = roadmap_street_get_street_name (&rm_properties);
         props->shield_text = roadmap_street_get_street_shield_text (&rm_properties);
         props->shield_type = roadmap_street_get_street_shield_type (&rm_properties);
         props->plugin_street.plugin_id = ROADMAP_PLUGIN_ID;
         props->plugin_street.street_id = rm_properties.street;
         return;
      }

      roadmap_street_get_properties (line->line_id, &rm_properties);

      props->address = roadmap_street_get_street_address (&rm_properties);
      props->street = roadmap_street_get_street_name (&rm_properties);
      props->street_t2s = roadmap_street_get_street_t2s (&rm_properties);
      props->city = roadmap_street_get_city_name (&rm_properties);
      props->shield_text = roadmap_street_get_street_shield_text (&rm_properties);
      props->shield_type = roadmap_street_get_street_shield_type (&rm_properties);
      props->plugin_street.plugin_id = ROADMAP_PLUGIN_ID;
      props->plugin_street.street_id = rm_properties.street;
      return;

   } else {
      RoadMapPluginHooks *hooks = get_hooks (line->plugin_id);

      props->address = "";
      props->street = "";
      props->street_t2s = "";
      props->city = "";
      props->shield_text = "";
      props->shield_type = "";

      if (hooks == NULL) {
         roadmap_log (ROADMAP_ERROR, "plugin id:%d is missing.",
               line->plugin_id);

         return;
      }

      if (hooks->get_street_properties != NULL) {
         (*hooks->get_street_properties) (line, props, type);
      }

      return;
   }
}