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); }
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; } }